我写的
#include<stdio.h>
main()
{int a,b;
float x;
scanf("a=%d,b=%d,&a,&b");
x=a+b;
printf("x=%f\n",&x);
}
运行结果
a=1,b=2
x=9.124881844725164260000000000000000000000e+192
Null pointer assignment
怎么回事
我写的
#include<stdio.h>
main()
{int a,b;
float x;
scanf("a=%d,b=%d,&a,&b");
x=a+b;
printf("x=%f\n",&x);
}
运行结果
a=1,b=2
x=9.124881844725164260000000000000000000000e+192
Null pointer assignment
怎么回事
你的scanf("a=%d")格式是错误的。正确的格式为scanf("%d,%d",&a,&b);
printf() 输出你非要输出地址我也没办法。把&(取地址运算符)去掉。
改正后结果如下:
#include<stdio.h> main() { int a,b; float c,d,x; scanf("%d,%d",&a,&b); //printf("%d\t%d\n",a,b); c=(float)a; //printf("%f\n",c); d=(float)b; //printf("%f\n",d); x=c+d; printf("x=%f\n",x); } 结果: