我在C初學者,我有這樣的代碼:在這種情況下,數組索引中的字符表示如何工作?
#include <stdio.h>
main()
{
int i;
int ndigit[10] = { [9] = 5 };
printf("%d\n",++ndigit['9']);
}
這將輸出值是這樣的:
-1074223011
但是,當我改變聲明:
++ndigit['9'-'0']
正確打印值
6
我想知道爲什麼需要在我的索引中添加-0
以使其正常工作?而爲什麼只是提到++ndigit['9']
,不幫我?
在此先感謝。
該代碼不編譯.... – 2012-04-05 05:41:51
提示:''9'!= 9'。 ''9'== 57'。 – cHao 2012-04-05 05:43:33
'9'不必等於57.在任何情況下,ndigit都被重新聲明,以便代碼不會被編譯。 – Wiz 2012-04-05 05:44:05