#include <stdio.h>
int main(void) {
int n,i;
int str[n];
scanf("%d\n",&n);
for(i=0;i<=n;i++)
{
scanf("%d",&str[i]);
printf("%d th %d\n",i,n);
}
return 0;
}
입력 :내 프로그램에서 일곱 번째 변수 6이 왜입니까?
10
8 9 2 1 4 10 7 6 8 7
출력 :
0 th 10
1 th 10
2 th 10
3 th 10
4 th 10
5 th 10
6 th 10
7 th 6
왜 출력 6입니까? 이 불확정 값을 가지고있는 동안 코드
int n,i;
int str[n];
에서
는
C는 선언적 프로그래밍 언어가 아닌 필수 프로그래밍 언어입니다. 대략 프로그램이 라인별로 실행된다는 것을 의미합니다. 'n '이 바뀌면 자동적으로 그 크기를 갱신 할 배열을 선언 할 수 없다. ** 선언 시점에서'n' ** 크기의 배열 만 선언 할 수있다. – StoryTeller
질문은 (i) 잘 쓰여지고, (ii) 짧은 컴파일 가능한 코드를 포함하며, (iii) 실제 결과를 문서화하며, (iv) 예상 출력을 문서화합니다. 그리고 두 명의 기존 사용자가 좋은 답변을 제출 했으므로이 질문에 더 많은 신뢰성을 부여합니다. 그럼 왜 downvote? – Bathsheba
@Bathsheba 아마도 그가 C의 "기본 개념"을 얻지 못했음을 보여주는 질문이기 때문에 나쁜 질문이고 그는 나쁜 사람입니다.) –