#include <stdio.h>
void main()
{
int a=0,b,c=0;
char arr[254];
printf(\"문자열 입력 : \");
scanf(\"%s\",arr);
for(b=0;c!=\'\\0\';b++)
{
c=arr[b];
a++;
}
printf(\"문자의 길이는 : %d\\n\",a-1);
}
void main()
{
int a=0,b,c=0;
char arr[254];
printf(\"문자열 입력 : \");
scanf(\"%s\",arr);
for(b=0;c!=\'\\0\';b++)
{
c=arr[b];
a++;
}
printf(\"문자의 길이는 : %d\\n\",a-1);
}
[출력 결과는 항상 0이네요]
-------------------------------
여기서요
c는 분명 숫자0으로 초기화했는데요...왜 조건문에서 검사할때 c를 숫자0이 아닌 아스키코드값 0으로 인식하죠??
그래서 그런지 계속 출력 결과가 0이에요..c를 1로 바꾸면 잘되고요....
결론 c에 분명 숫자 0을 초기화했는데 이것이 왜 아스키코드 0이랑 값이 같은거죠??
0이나 NULL이나 똑같으니까 똑같은거지 왜 똑같은지 궁금하면 ANSI한테 물어봐라
dec가 0이고 hex가 16진수맞나요? c=\'0\'으로 초기화하면 달라지나요??
아스키코드표봐라
보고있어요~ dec=0,hex=0,ascll=null 이래서 같은거맞나요?
음..대충 이제 이해감 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 땡큐요~