上海复旦万科实验小学:一个程序 其中一点不明白 解释下

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 04:25:51
#include<stdio.h>
#include<string.h>
void main()
{
char string[20];
char str[3][20];
int i;
for(i=0;i<3;i++)
gets(str[0]);
if(strcmp(str[0],str[1])>0)
strcpy(string,str[0]);
else
strcpy(sting,str[1]);
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
pringtf("\nthe largest string is:\n%s\n",string);
}

其中int i;
for(i=0;i<3;i++)
gets(str[0]); 有什么用

char string[20]; 这个为什么没写成 str[20]?
char str[3][20];

strcpy(string,str[0]); 中 多个string又有何用 不写又怎么样
我初学啊 请指教哦

首先我觉得for(i=0;i<3;i++)
gets(str[0]); 中应该是
for(i=0;i<3;i++)
gets(str[i]);
作用就是为二维数组的每一行赋值一个输入的字符串

char string[20]; 这个为什么没写成 str[20]?
如果写成str[20]?,那么与下面那个数组重名

strcpy(string,str[0]); 中 多个string又有何用 不写又怎么样
strcpy函数就是两个参数,作用是复制字符串,将str[0]这个字符串复制到
string中,不写编译会出错

第一个问题:
循环的方式读入三个字符串到 str 数组

第二个问题:
string[20] str[3][20] 都是变量的名称,你愿意起什么名字那是你的事情。

第三个问题:
strcpy(string, str[0]) 是复制字符串,把 str[0] 复制给 string。

其中int i;
for(i=0;i<3;i++)
gets(str[0]); 有什么用
答:上段代码表示从键盘输入三个字符并存到str数组中

char string[20]; 这个为什么没写成 str[20]?
char str[3][20];
//第一行的数组名为string,第二行的数组名为str,如果第一行写成str,那就重复了

strcpy(string,str[0]); 中 多个string又有何用 不写又怎么样

//不写那就错了,strcpy是个函数,是将string的内容复制到str数组中的第一个元素的位置