에 * 문자 [] 변수에서 첫 번째 문자를 얻을내가 C에서 문자열의 첫 번째 문자 (문자 [])를 얻으려면 C
unsigned int N;
unsigned int F;
unsigned int M;
char C;
int main (int argc, char *argv[]){
if (argc!=5){
printf("Invalid number of arguments! (5 expected)\n");
exit(-1);
}
N = atoi(argv [1]);
F = atoi(argv [2]);
M = atoi(argv [3]);
C = (char) argv[4]; //this way gives a wrong char value to variable C
위의 코드는 나에게 경고를 제공합니다 : 포인터로 캐스팅 다른 크기의 정수에서.
EDIT : 주석에서 지적한대로 argv는 char []가 아니라 char * []입니다.
역 참조 연산자를 사용합니까? –
프로그램에'char []'변수가 없습니다. 'C'는'char'이고'argv'는'char * []'입니다. – Barmar
@ qPCR4vir'argv [0]'은 프로그램의 이름이고'char'가 아닌 문자열입니다. – Barmar