전 기호를 확인하는 프로그램을 작성 중입니다. 나는 최근에 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]'나'의 char *이 정상 =는 argv를 [A]'복사, 같은 문자열 /'char' 배열에 모두 포인터를 가리키는 - 복사가 수행되지 않습니다 ['strcpy'] (http://en.cppreference.com/w/c/string/byte/strcpy) 함수를 통해 – UnholySheep