cc123hh 发表于 2020-2-22 10:01:33

二维数组定义出错了

#include <stdio.h>

int main ()
{
        char a[]={{ , ,*, , },{ ,*, ,*, },{*, , , ,*},{ ,*, ,*, },{ , ,*, , }};
        int x,y;
        for(x=1;x<=5;x++)
        {
                for(y=1;y<=5;y++)
                {
                        printf("%d",a);
                }
        }
}

char a[]={{ , ,*, , },{ ,*, ,*, },{*, , , ,*},{ ,*, ,*, },{ , ,*, , }};   这里有不对的地方吗?
报错是 expected expression before ',' token

良弓无箭 发表于 2020-2-22 10:31:10

你好,你想输出字符还是数字,如果想输出字符的话也不应该用%d呀,以下代码#include <stdio.h>

int main ()
{
      chara[]={{ ',',',','*',',',',' },{ ',','*',',', ',','*' },{'*',',', ',' , ',','*'},{ ',','*',',', '*',',' },{ ',', ',','*',',' ,',' }};
      int x,y;
      for(x=0;x<5;x++)
      {
                for(y=0;y<5;y++)
                {
                        printf("%c ",a);
                }
                printf("\n");
      }
      return 0;
} 是输出字符的版本。

major_lyu 发表于 2020-2-22 17:13:47

*是不能作为字符的.你定义的是字符数组,所以编译器会要求字符用''引起来.
页: [1]
查看完整版本: 二维数组定义出错了