我在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