我正在编写一个程序来检查回文。我最近拿起C并想知道为什么我不能使用它吗?是否有一些与我利用直接复制的argv成字符数组复制argv并检查回文
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(int argc,char *argv[]){
int i;
int a;
int size;
for(a = 1; a < argc; a++){
char *reverseThis = argv[a];
char *normal = argv[a];
size = strlen(reverseThis);
for(i = 0; i < size; i++){
reverseThis[i] = normal[size - i - 1];
}
for(i = 0; i < size; i++){
reverseThis[i] = tolower(reverseThis[i]);
normal[i] = tolower(normal[i]);
}
if(strcmp(reverseThis,normal)==0){
printf("\"%s\": on palindromi\n",argv[i]);
}
else
printf("\"%s\": ei ole palindromi\n",argv[i]);
}
return 0;
}
既不'字符* reverseThis = argv的[A];''也不字符* =正常的argv [A];'副本,则在相同的串/'char'阵列指向两个指针 - 复制完成通过['strcpy'](http://en.cppreference.com/w/c/string/byte/strcpy)函数 – UnholySheep