输入bcdefgh(换行)m(换行)abcdefg,以下程序的输出结果为().
#include<stdio.h>
main()
{
int i; char string[20],str[3][20];
for(i=0;i<3;i++)gets(str[i]);
if(strcmp(str[0],str[1])>0) strcpy(string,str[0]);
else strcpy(string,str[1]);
if(strcmp(str[2],string)>0) strcpy(string,str[2]);
printf("%s",string);
}
A.bcdefgh
B.m
C.abcdefg
D.bcdefgh或abcdefg
B
具体如下:
#include<stdio.h>
#include <string.h>
int main()
{
int i; char string[20],str[3][20];
for(i=0;i<3;i++)gets(str[i]); //从键盘获取三个字符串
//输入后你说的三个字符串后
//str[0]="bcdefgh" str[1]="m" str[2]="abcdefg"
//strcmp(str[0],str[1])比较两个字符的大小,str[0]以'b'开头,小于'm',所以if条件不成立
if(strcmp(str[0],str[1])>0)
strcpy(string,str[0]);
else
strcpy(string,str[1]); //执行strcpy(string,str[1]),就是把"m"复制给string 此时string="m";
//strcmp(str[2],string)比较str[2]和string的大小,'a'小于'm',所以if条件不成立
if(strcmp(str[2],string)>0)
strcpy(string,str[2]); //不执行这条复制语句
//所以最后string="m"
printf("%s",string);
return 0;
}