나는 C에서 초보자를 그리고 난 같은 코드가 있습니다이이 같은 값 뭔가 인쇄배열 인덱스의 문자 표현은이 경우 어떻게 작동합니까?
#include <stdio.h>
main()
{
int i;
int ndigit[10] = { [9] = 5 };
printf("%d\n",++ndigit['9']);
}
:
++ndigit['9'-'0']
:
-1074223011
을하지만을 나는 문을 변경할 때
정확하게 값을 인쇄하고 있습니다.
6
제대로 작동하려면 인덱스에 -0
을 추가해야하는 이유가 궁금합니다. 그리고 왜 그냥 ++ndigit['9']
을 언급하면 도움이되지 않습니까?
미리 감사드립니다. 당신이 배열의 10 번째 요소에 액세스하려면
코드가 컴파일되지 않습니다 .... –
힌트 : ''9 '! = 9'. ''9 '== 57'. – cHao
'9'는 57 일 필요는 없습니다. 두 경우 모두 ndigit이 다시 선언되어 코드가 컴파일되지 않습니다. – Wiz