你的程序在C/C++中都是输出的a
a和b比较的是存储地址的大小
所以a永远大于b
用strcmp函数
#include
#include
void main(){
char a[10];
char b[33];
scanf("%s",a);
scanf("%s",b);
if(strcmp(a,b)>=0)
printf("%s",a);
else
printf("%s",b);
}
a>b比较的是两个数组的头地址的值,所以一定是a
比较字符串值用strcmp,如下面的。
#include
#include
void main(){
char a[10];
char b[33];
scanf("%s",a);
scanf("%s",b);
if(strcmp(a,b)<0)
{
printf("%s",a);
}
else
{
printf("%s",b);
}
}
这样用的话,只比较头指针的地址。
而以上a,b数组地址中的是随机分配的。所以,出现上面结果了。
用strcmp
#include"stdio.h"
#include"string.h"
void main()
{char a[80];
char b[80];
gets(a);gets(b);
if(strcmp(a,b))
printf("%s",a);
else
printf("%s",b);
}