#include<stdio.h> #include<string.h> int main(void) { char a[51],b[51];int i,dif; gets(a); gets(b); for( i=0 ; ; i++) { dif=[填空1]; if(dif!=0 || b[i]*a[i]==0) break; } if([填空2]) printf("a==b"); else if(dif>0) printf("a>b"); else printf("a<b"); return 0; }
时间: 2024-03-27 17:36:13 浏览: 44
根据您给出的代码,我猜测您需要填空的地方是:
[填空1]:b[i] - a[i]
[填空2]:dif==0
因此,完整的代码如下:
```c
#include<stdio.h>
#include<string.h>
int main(void) {
char a[51], b[51];
int i, dif;
gets(a);
gets(b);
for (i = 0; ; i++) {
dif = b[i] - a[i];
if (dif != 0 || b[i] * a[i] == 0)
break;
}
if (dif == 0)
printf("a==b");
else if (dif > 0)
printf("a>b");
else
printf("a<b");
return 0;
}
```
这个程序的功能是比较两个字符串a和b的大小,并输出比较结果。程序首先使用gets()函数从控制台输入字符串a和b,然后使用for循环逐个比较a和b中的字符,直到遇到不同的字符或者两个字符串的末尾。比较过程中,dif表示b[i]和a[i]的差值,如果dif不等于0,或者b[i]和a[i]都等于0,则说明找到了不同的字符或者字符串已经结束。根据dif的值,程序输出比较结果。
需要注意的是,使用gets()函数存在溢出的风险,建议使用fgets()函数替代。另外,scanf()函数也可以用来输入字符串,不过需要指定格式化字符串,例如scanf("%s", a)。
阅读全文