for 루프에서 ++i
을 사용하고 있습니다. 즉, 루프가 실행되기 전에 i
이 1
으로 증가합니다. 나는 여기서 무엇이 잘못 되었는가?왜 str1 [0]의 첫 번째 할당은 무엇입니까? 그것은 str1 [1]의 안된다?
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int i;
scanf("%s", str1);
for (i = 0; str1[i] != '\0'; ++i) {
str2[i] = str1[i];
}
str2[i] = '\0';
printf("%s\n", str2);
return 0;
}
; 이걸 어떻게 추측하니? – alk
나는 왜이 질문에 downvote를 이해하지 못한다. 그것은 의미 있고 합당한 몇 가지 질문 중 하나이다. –
참조 용 [C-Standard (초안) 관련 장] (http://port70.net/~nsz/c/c11/n1570.html#6.8.5.3) : "* for (절 -1; expression-3) statement [...] 식 -3은 루프 본문을 실행할 때마다 void 식으로 계산됩니다. * " – alk