C语言,这个程序中str是个二维数组,str[0]就可以代表第一个下标为0的一整行吗?

兄弟姐妹,打扰一下,C语言,这个程序中str是个二维数组,str[0]就可以代表第一个下标为0的一整行吗??

#include <stdio.h>
#include <string.h>
void main( )
{
char str[10][80], c[80];
int i;
for(i=0; i<10; i++) gets(str[i]);
strcpy(c, str[0]) ;
for(i=1; i<10; i++) if(strlen(c) <strlen(str[i])) strcpy(c,str[i]);
printf( "%s\n", c);
printf( "%d\n", strlen (c));
}
最新回答
如一

2024-05-13 02:41:18

对头。

程序中str是个

二维数组
,str[0]就可以代表第一个下标为0的一整行(内容为输入的第一行
字符串
)。

#include <

stdio.h
>
#include <
string.h
>
void main( )
{
char str[10][80], c[80];
int i; 
for(i=0; i<10; i++) gets(str[i]);    //读入10行字符串
strcpy(c, str[0]) ;    //复制第一行字符串
for(i=1; i<10; i++)    //扫描后面的所有行的字符串

   if(strlen(c) <strlen(str[i])) strcpy(c,str[i]);    //如有长度更长的,就复制该行字符串
printf( "%s\n", c);    //输出最长的字符串
printf( "%d\n", strlen (c));    //输出最长字符串的长度
}

冷冰雨

2024-05-13 02:58:35

str[0]做参数实际是一个地址(相当于指针),编程想了解细节就是要试,如把c和尚str设为不同长度再试试strcpy,试多了你就明白了。