#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