C程序那里出错了

来源:百度知道 编辑:UC知道 时间:2024/06/01 12:09:41
#include <stdio.h>
void main()
{
int a,b;
int num,num2,num3,num4;
printf("请输入两个数字:\n");
scanf("%d%d",&a,&b);

num=a+b;
num2=a-b;
num3=a*b;
num4=a/b;
printf("a+b=%d\n",&a,&b,&num);
printf("a-b=%d\n",&a,&b,&num2);
printf("a*b=%d\n",&a,&b,&num3);
printf("a/b=%d\n",&a,&b,&num4);

}
运行结果是
请输入两个数字
2
4
a+b=1245052
a-b=1245052
a*b=1245052
a/b=1245052

printf("a+b=%d\n",&a,&b,&num);
printf("a-b=%d\n",&a,&b,&num2);
printf("a*b=%d\n",&a,&b,&num3);
printf("a/b=%d\n",&a,&b,&num4);
应改为
printf("%d+%d=%d\n",a,b,num);
printf("%d-%d=%d\n",a,b,num2);
printf("%d*%d=%d\n",a,b,num3);
printf("%d/%d=%d\n",a,b,num4);
把&都去掉,&是用来取地址的,你输出是输出数据,又不是输出变量的地址!!

scanf("%d%d",&a,&b);
你拿什么来分隔输入的a和b呢?
如果改为scanf("%d,%d",&a,&b); 可输入"xx,xxx"回车(不带引号)分别给a和b。