#include<stdio.h>
int main()
{
int x,y;
char n;
scanf("%d %c %d",&x,&n,&y);
if(n == '+')
printf("%d + %d",x + y);
else if(n == '-')
printf("%d - %d",x - y);
else if(n == '*')
printf("%d * %d",x * y);
else if(n == '/')
printf("%d / %d",x / y);
else if(n == '%'&&y!=0)
printf("%d %% %d",x % y);
else
printf("ERROR");
return 0;
}
请问各位大神为什么将上面代码中printf 括号中的%d的运算换成%d。pintia才能通过。代码如下
#include<stdio.h>
int main()
{
int x,y;
char n;
scanf("%d %c %d",&x,&n,&y);
if(n == '+')
printf("%d",x + y);
else if(n == '-')
printf("%d",x - y);
else if(n == '*')
printf("%d",x * y);
else if(n == '/')
printf("%d",x / y);
else if(n == '%'&&y!=0)
printf("%d",x % y);
else
printf("ERROR");
return 0;
}
"%d + %d" 中有两个%d,你就要提供两个值,但 x + y 是加法计算,计算出来的结果只有一个值。
一个%d表示一个整数,不管用什么运算符号,后面都是一个整体,例如5+4通常会当作一个整体9,而不会分开,如果要分开写就是printf("%d+%d",x,y);这表示x在第一个%d位置,y在第二个%d位置。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632