#include <stdio.h>
int main(){
int a,b;
scanf("%d %d", &a,&b);
if(a==b) printf("equal");
}
所以我输入了001和1的数字,但是它相等,我想让它不相等,有没有可能做到这一点以及如何做到?
#include <stdio.h>
int main(){
int a,b;
scanf("%d %d", &a,&b);
if(a==b) printf("equal");
}
我输入001和1`
scanf("%d")
会丢弃所有前导零,因此您将无法正确比较 ints
。
一般来说,int
只是一个数字,不存储前导零等任何内容。
要保留前导零,您需要使用 strcmp
: 读取和比较字符串
char a[21], b[21];
scanf("%20s %20s", a, b);
int c = strcmp(a, b);
if (c < 0) /* a is lexicographically lower */;
if (c == 0) /* a is equal to b */;
if (c > 0) /* a is lexicographically greater */;