填空题
1. 请补充函数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(______)
return"<":
if(______)
return">";
p1++;
p2++;
}
if(*p1==*p2)
return"==":
if(*p1==______)
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));
}
【正确答案】
1、*p1<*p2
*p1>*p2
'\0'
【答案解析】 变量p1和p2分别指向字符串str1和str2,由题目的要求可知,str1小于str2,返回“<”,因此,第1空处填“*p1<*p2”;str1大于str2,返回“>”,因此,第2空处填“*p1>*p2”;当str1中的所有字符与str2中的前n个字符相等,str2仍没有结束时,其说明str2大于str1,因此,第3空处填“'\0'”。