0
오류는 인쇄 루프보다 한 자릿수 이상 스캔하는 경우입니다. 루프 다음에 예제 코드가 있습니다. 왜 그런지 알겠습니까?scanf 및 printf 루프 출력량이 다른 경우
int main(int argc, char *argv[]) {
//Throw error is *Argv[] is not an integer
//assuming it was an integer
int cnt = (int)(argv[1][0] - '0');
printf("number is %d\n", cnt);
//
printf("Enter %i integer values to place in tree:\n", cnt);
for (i1 = 0; i1 < cnt; ++i1) {
scanf("%d\n", &elemArray[i1]);
}
//first ouput "INput Values"
for (i2 = 0; i2 < cnt; ++i2) {
printf("%d\n", elemArray[i2]);
}
//Build tree with each element
return 0;
}
OUPUT은 다음과 같습니다
Enter 5 integer values to place in tree:
1
2
3
4
5
6
1
2
3
4
5
으로 변경되어야했습니다. 몇 번이나 번호를 물어 보았습니까? –
6 번 @ 마틴 제임스. 그것은 & elemArray의 주소로 뭔가를 시도했지만 그렇지 않았습니다. – arrowinfedex
나는 그것을 이해했다. 그것은 'scanf ("% d \ n", & elemArray [i1]);' 'scanf ("% d", & elemArray [i1]);' – arrowinfedex