C语言二位数组a[1]表示什么

2024-12-03 07:01:20
推荐回答(4个)
回答1:

关于puts函数:

int puts(char *string);

其传入的参数是char*型的,也就是字符串。

我不知道你的二维数组a[m][n]是什么,不过如果是字符串数组的话,a[1]应该表示第二个字符串(第一个是a[0]),所以puts(a[1])就是输出字符串啦。

字符串数组肯定是二维以上的,a[1]表示字符串(其实这个值就是第二个字符串的起始地址,类型就是char*),a[1][0]表示的是字符(char型)。

回答2:

puts : 原型:int puts(char *string); < puts入参指针类型> 向标准输出设备(屏幕)写字符串并换行,
a[1] : &(a[1][0]) ,表示a[1][0]的地址.
puts(a[1]) :取a[1][0]的地址传给puts, 写该地址存储内容,直到\0结束.

回答3:

是二维数组第二行这个数组的指针,其值是&a[1][0]——注意这里只是“其值”。

回答4:

二维数组形式:
定义一个二维数组如 char a[x][y]; 表示a数组一共有x行,每一行有y列,此时如果这样写a[n],表示取这个数组的第n行的首地址。例如 有如下定义:

char a[3][20] = {"hello", "world", "you"};

表示a[3][20]数组一共是3行,每行占用20列;并且a[0],表示指向"hello"的首地址a[1],指向"world"的首地址,a[2]指向"world"的首地址;

而puts()函数只要传入给它一个首地址,它就可以输出从字符串开始的字符串直到遇到结束符为止;因此这里puts(a[1]);会输出"world"