2316829671 发表于 2019-2-16 13:58:18

为什么只用一个循环就可以打印二维数组

本帖最后由 2316829671 于 2019-2-16 14:02 编辑



#include <stdio.h>

#define NUM 5

int main()
{
      char slogans = {
                "I love FishC.com!",
                "Keep moving!",
                "Impossible is nothing!",
                "Just do it!",
                "I am what I am!"};
      int i;

      for (i = 0; i < NUM; i++)
      {
                printf("%s\n", slogans);
      }

      return 0;
}

这里所有口号不是都存放在二维数组的第一行第一列至第五列里面吗?为什么只用一层循环而且循环里不是 printf("%s\n", slogans)   也可以打印所有口号

Krant5 发表于 2019-2-16 16:01:47

二维字符数组的含义是一维字符串数组,一个FOR循环打印所有字符串就行了,你要是两层循环,那打印的就是每个单独的字符了

2316829671 发表于 2019-2-16 17:21:09

Krant5 发表于 2019-2-16 16:01
二维字符数组的含义是一维字符串数组,一个FOR循环打印所有字符串就行了,你要是两层循环,那打印的就是每 ...

这个二维数组相当于500个单元格没错吧
是每一个口号当作一个整体存入数组中的一个格还是一个格只存入一个字母

Krant5 发表于 2019-2-16 17:23:07

2316829671 发表于 2019-2-16 17:21
这个二维数组相当于500个单元格没错吧
是每一个口号当作一个整体存入数组中的一个格还是一个格只存入一 ...

500个字符,字符,字符,你不看前面的数据类型吗char arr的 char

2316829671 发表于 2019-2-16 18:39:42

Krant5 发表于 2019-2-16 17:23
500个字符,字符,字符,你不看前面的数据类型吗char arr的 char

哦,知道了,谢谢
页: [1]
查看完整版本: 为什么只用一个循环就可以打印二维数组