C语言怎样判断二维数组结束?

如 char *a[]={"22","33","44"};

可以用这样的方法来实现:

#include<stdio.h>

#include<math.h>

int main()

{ char *a[]= {"22","33","44","The end"};

  int i;

  for(i=0; i<sizeof(a)/sizeof(a[0]);i++)

    printf("%s\n",a[i]);

  return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-07-13
如题中的指针数组,其实不需要添加什么就可以判断是否结束。因为数组的大小是定的,你可以使用sizeof函数求出其数组元素个数。
size = sizeof(a)/sizeof(char *)表示数组元素个数。
char*a[]={"22","33","44"};
遍历数组
for(int i = 0; i < size; i++)
puts(a[i]);
第2个回答  2022-06-27
首先】是多行字符串的输入和保存。可以:
开设一个字符串数组如下,其中N定义最多可记录多少行,M定义每行可保存多少个字符,改变#define定义可以调整这两个数据
#define N 1024 //最多1024行
#define M 256 //每行最多存储255个字符
char input[N][M];
实际输入一行可以用gets函数实现,判断gets函数的返回值可知道是否结束输入(比如输入Ctrl+Z的组合键结束),每输入一行,记录的行数加1,最后可得到实际输入的行数和按行号顺序保存在input数组中的所有字符串。

【然后】是倒序输出字符串,每个字符串倒序输出。可以:
按照倒序给出input的第1维下标,每行输出一个字符串,在输出每个字符串时,找到字符串末尾(都是以字符'\'结束的),然后输出一个字符再往回倒退一个字符,直至输出完整个字符串。如:
for ( i=n-1;i>=0;i-- )
{ nn=0; while ( input[i][nn] ) nn++;
for ( j=nn-1;j>=0;j-- ) printf("%c",input[i][j]);
printf("\n");
}
第3个回答  2021-07-13
在C语言中没有特别的方法判断一个二维数组结束,因为是你自己定义的,你应该知道这个数组有多少个变量,所以需要自己根据自己的定义来判断。
第4个回答  2021-07-13
判断‘\0’即可,这种定义的方式,系统会自动在字符串的结束处添加‘\0’结束符。 看看书本,书本上讲得有有关于字符串初始化的内容。