#include <stdio.h>
int main(int argc, char **argv) {
int x[5][5] = {{0,1,2,3,4},{5,6,7,8,9}};
for (int i = 0; i < 4; i++) {
for (int j = 0; i < 4; i++) {
printf("%d\n", x[i][j]); } }
return 0; }
这本来给我:0 1 2 3 4 5 6 7 8 9多维数组打印功能使不同的东西
,其结果是:0 5 0 0
然后,当我将其更改为字符:
#include <stdio.h>
int main(int argc, char **argv) {
char x[5][5] = {{'0','1','2','3','4'},{'5','6','7','8','9'}};
for (int i = 0; i < 4; i++) {
for (int j = 0; i < 4; i++) {
printf("%d\n", x[i][j]); } }
return 0; }
我得到48 53 0 0
为什么?代码对我来说很清楚,但似乎在背景上发生了一些晦涩的事情(或者我的大脑以非常“pythonic”的方式工作......)
那么,首先,你有两组五个数字和三组五个零。我不知道这是你要做什么。 – chris 2013-04-06 07:35:23
在C'0'中,'1'...是具有数值48,49 ... – suspectus 2013-04-06 07:36:27
@suspectus的字符,不一定。它可以根据正在使用的字符集而改变。 – chris 2013-04-06 07:37:37