刚学C语言,为什么这个代码运行不了呢

Xtm3333 2023-09-12 21:15:05

刚学C语言,为什么这个代码运行不了呢

输入三个非零正整数a,b和c,分别进行a+b+c,a-b-c,a*b*c,a/b/c,a%b%c的运算,运算结果均为整数。

输入:

输入三个整数,以空格间隔。

输出:

输出运算结果,每个结果占一行,末尾以换行结束。

示例输入:

1 2 3

示例输出:

1+2+3=6
1-2-3=-4
1*2*3=6
1/2/3=0
1%2%3=1

#include <stdio.h>
int main(void)
{
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    printf("%d+%d+%d=%d\n", a + b + c);
    printf("%d-%d-%d=%d\n", a - b - c);
    printf("%d*%d*%d=%d\n", a * b * c);
    printf("%d/%d/%d=%d\n", a / b / c);
    printf("%d%%d%%d=%d\n", a % b % c);
    return 0;
}

...全文
61 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2023-09-14
  • 打赏
  • 举报
回复

你的前4个printf都少参数(a,b,c)
而最后一个%要用%%转义的
改好的完整程序为

#include <stdio.h>
int main(void)
{
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    printf("%d+%d+%d=%d\n", a,b,c,a + b + c);
    printf("%d-%d-%d=%d\n", a,b,c,a - b - c);
    printf("%d*%d*%d=%d\n", a,b,c,a * b * c);
    printf("%d/%d/%d=%d\n", a,b,c,a / b / c);
    printf("%d%%%d%%%d=%d\n", a,b,c,a % b % c);
    return 0;
}

结果

img

隐蔽之鲷 2023-09-13
  • 打赏
  • 举报
回复
  printf()和scanf()作为可变参数方法,是从右向左传参(入栈操作),在最左边的参数进行执行(出栈操作)时每遇到标识符(%d等)进行一次出栈,你写了四次出栈一次入栈,编译会报错。正常来说在使用开发工具写的时候就会有报错提示,你可以看看提示信息,避免语法错误。
2301_78792429 2023-09-13
  • 打赏
  • 举报
回复 1

printf函数“”里面一个%d应该对应逗号后面一个整数变量,可以改成:
printf("%d+%d+%d=%d\n",a,b,c,a+b+c);
其他同理

69,567

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧