这个结果c运行出来一直是负几亿,这个x和y都可以出来,就这个c一直运行不了
输入的时候要以逗号分割输入
#include<stdio.h>
#include <stdlib.h>
int main()
{
int i,n,x,y,c;
scanf("%d,%d",&x,&y);
c+=(x++)*y;
c=++c;
printf("%d %d %d",x,y,c);
}
(1)scanf中%d和%d之间有逗号,你输入数据的时候也要输入逗号。
(2)y如果可以接收小数的话,y的类型需要改成double类型。当然,用%d也可以,但是%d只能读取到整数部分。
(3)c的值没有初始化,在计算的时候会出错。这是c出现负数的原因
代码修改及输入方式如下图所示:
代码修改如下:
#include <stdio.h>
void main()
{
double c=0,x,y; //这里是double还是int根据你的需要来定,int无法接受小数
scanf("%lf,%lf",&x,&y); //读取double类型用%lf,如果c,x,y的类型仍然用int的话,就把%lf改成%d
c += (x++)*y;
c=++c;
printf("x=%.2f,y=%.2f,c=%.2f\n",x,y,c); // %.2f表示输出小数点后2位,如果c,x,y是int类型,把%.2f改成%d即可
}
如果你的输入内容是:x=2,y=2.5,代码修改如下:
输入及运行结果图:
代码:
#include <stdio.h>
void main()
{
double c=0,x,y; //这里是double还是int根据你的需要来定,int无法接受小数
scanf("x=%lf,y=%lf",&x,&y); //读取double类型用%lf,如果c,x,y的类型仍然用int的话,就把%lf改成%d
c += (x++)*y;
c=++c;
printf("x=%.2f,y=%.2f,c=%.2f\n",x,y,c); //如果c,x,y是int类型,把%.2f改成%d即可
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!