怎么让2000000000 2000000000的输入得到正确结果
#include<stdio.h>int main()
{
long a,b;
scanf("%d %d",&a,&b);
printf("%d",a+b);
return 0;
} 问题出在scanf函数的参数类型不正确。由于a和b是long类型的变量,应该使用%ld来读取和打印这两个变量的值。修改后的代码如下:
#include<stdio.h>
int main()
{
long a,b;
scanf("%ld %ld",&a,&b);
printf("%ld",a+b);
return 0;
}
这样修改后,程序就能正确读取和打印输入的2000000000 2000000000的结果了。 #include<stdio.h>
int main(void)
{
long long a , b ;
scanf("%I64d%I64d" , & a , & b) ;
printf("%I64d" , a + b) ;
return 0 ;
}
编译、运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
2000000000 2000000000
4000000000
D:\\C>
页:
[1]