填空题 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、
【正确答案】 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'”。