#include <stdio.h>
#include <stdlib.h>
int main() {
unsigned int n0;
scanf("%d", &n0);
const unsigned int n = n0;
short unsigned int A[n];
short unsigned int d, x, y, k;
short int l, r;
int i, j;
for (i = 0; i < n; i++) {
scanf("%d", &A[i]);
}
scanf("%d", &d);
for (i = 1; i <= d; i++) {
scanf("%d %d", &x, &y);
}
return 0;
}
안녕하세요, 저는 C가있는 전체 초보자이며 나에게 많은 것을 놀라게 한 상황을 우연히 발견했습니다. 위의 코드에서 사용자에게 숫자 d
을 입력 한 다음 d
쌍의 점 좌표를 입력하라고합니다. 그러나 놀랍게도, 처음에 1보다 큰 값인 d
이 무엇이든간에 (x, y)의 첫 번째 쌍을 입력 한 후에 프로그램이 실행을 종료합니다. 코드에 d
값을 할당하면 발생하지 않습니다 (e.x. d = 5;
). 이유는 무엇일까요? scanf
문을 통해 변수에 할당 된 값이 어떻게 다르고 루프 상태에서 사용할 수 없습니까?scanf를 사용하여 변수 입력이있는 루프 조건 - C
하는 일이'(I = 0; i가 N <; 내가 ++)에 대한? { 는 scanf ("% d 개", &A[i]); 가}'을 의미 –
@xing, 그것은 일, 감사! 그런데 왜 실제로 % D 아무튼 – jakes
@KrzysztofSzewczyk, 더 많은 기능을 위해 무언가입니다. 여기를 삭제하는 것을 잊었습니다. – jakes