char *str[20]="1234512345";
위 문자열에서 널문자 없앨려고
1) str[sizeof(str)-1]=0;
2) str[strlen(str)-1]=0;
열혈강의 예제에서는 1)로 나오고 연습문제에서는 2)로 나오는데..ㅜㅜ
차이가 뭔가요..
2)로 나온 문제에서 1)로 해보면 엉뚱한 결과가 나오네요..
char *str[20]="1234512345";
위 문자열에서 널문자 없앨려고
1) str[sizeof(str)-1]=0;
2) str[strlen(str)-1]=0;
열혈강의 예제에서는 1)로 나오고 연습문제에서는 2)로 나오는데..ㅜㅜ
차이가 뭔가요..
2)로 나온 문제에서 1)로 해보면 엉뚱한 결과가 나오네요..
널문자열을 지우는게 아니라 9뒤에잇는 0을 지우고 싶다이거 아냐 ?
아뇨. 문자열 선언할 때 자동으로 선언되는 널문자 없앨려고요.
chodadoo//무슨 뜻이세요? \'->20\', \'->10\' 이거 무슨뜻인가요?
아!! sizeof는 배열 자체의 크기를 반환해서 20이 되고, strlen은 문자 개수만 반환해서 10이 된다는 말씀이시죠?^^