填空题 请补充函数proc(),该函数的功能是比较字符串str1和str2的大小,并返回比较的结果。
例如,当str1="abcd",str2="abcc"时,函数proc()返回“>”,比较结果为“str1>str2”。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 80
char*proc(char*str1,char*str2)
{
char*p1=str1,*p2=str2;
while(*p1&&*p2)
{
if( 1)
return"<";
if( 2)
return">";
p1++;
p2++;
}
if("p1==*p2)
return"==";
if(*p1== 3)
return"<";
else
return">";
}
void main()
{
char str1[M],str2[M];
system("CLS");
printf("Input str1:/n");
gets(str1);
printf("Input str2:/n");
gets(str2);
printf("/n****the result****/n");
printf("/nstr1%s str2",proc(str1,str2));
}
【正确答案】
【答案解析】*p1<*p2 *p1>*p2 "/0"[解析] 变量p1和p2分别指向字符串str1和str2,由题目要求可知,str1小于str2,返回“<”。因此,第一处填“*p1<*p2”。str1大于str2,返回“>”。因此,第二处填“*p1>*p2”。当str1中的所有字符与str2中的前n个字符相等,str2仍没有结束时,说明str2大于str1。因此,第三处填“"/0"”。