啊哈磊_编程从这里起步

标题: C语言渣又诚心发问:麻烦给我解释一下这个程序 [打印本页]

作者: C语言渣    时间: 2013-8-8 17:01
标题: C语言渣又诚心发问:麻烦给我解释一下这个程序
刚刚在看教程时候看到改错题,说是有三个错误。然后自己抱着必错的心态先照着题目凭感觉写一个程序,没想到检查之后显示0 error(s),0 waring(s).可是心里还很疑惑。

就想问问程序里头从c=a-b;……开始到后面程序结束的部分还是有点儿不理解。求解说。{:soso_e110:}

360软件小助手截图20130808164940.jpg (20.02 KB, 下载次数: 2)

刚刚在看啊哈磊的教程里头的改错题目

刚刚在看啊哈磊的教程里头的改错题目

initpintu.jpg (24.91 KB, 下载次数: 3)

教程里头的改错的程序

教程里头的改错的程序

360软件小助手截图20130808164922.jpg (16.91 KB, 下载次数: 1)

自己写的程序

自己写的程序

作者: rosynirvana    时间: 2013-8-8 17:01
本来的三个错误是 include main 拼写错,以及一个\n写成了/n

你的程序中printf的格式字符串有6个占位符%d,但是只有一个参数c,是未定义的,编译器不会报错,但是会有问题

如果要写成一句应该这么写
printf("%d+%d=%d\n%d-%d=%d\n", a, b, a+b, a, b, a-b);
作者: C语言渣    时间: 2013-8-8 17:24
rosynirvana 发表于 2013-8-8 17:21
本来的三个错误是 include main 拼写错,以及一个\n写成了/n

你的程序中printf的格式字符串有6个占位符% ...

printf("%d+%d=%d\n%d-%d=%d\n", a, b, a+b, a, b, a-b);里头不用写c吗?
作者: rosynirvana    时间: 2013-8-8 17:32
C语言渣 发表于 2013-8-8 17:24
printf("%d+%d=%d\n%d-%d=%d\n", a, b, a+b, a, b, a-b);里头不用写c吗?

你要计算a+b和a-b
直接写a+b和a-b就行
而且这里没办法用中间变量c
c不能同时储存a+b和a-b两个值
作者: C语言渣    时间: 2013-8-8 17:47
rosynirvana 发表于 2013-8-8 17:32
你要计算a+b和a-b
直接写a+b和a-b就行
而且这里没办法用中间变量c

#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b;
        a=10;
        b=5;
        printf("%d+%d=%d\n%d-%d=%d\n", a, b, a+b, a, b, a-b);
        return 0;
}


这样是最终结果了,对了吗?…弱弱地问一句括号里头最后一个%d后头为什么加\n?前面不是已经有一个换行符了吗?
作者: rosynirvana    时间: 2013-8-8 18:23
C语言渣 发表于 2013-8-8 17:47
#include
#include
int main()

没错

不加第二个换行符就会和其他输出挤在一起
如果你用Windows的话,可能没这个问题
作者: C语言渣    时间: 2013-8-8 19:00
rosynirvana 发表于 2013-8-8 18:23
没错

不加第二个换行符就会和其他输出挤在一起

嗯,明白啦。灰常感谢。
作者: C语言渣    时间: 2013-8-18 14:46
再遇难题求指导

360软件小助手截图20130818142954.jpg (30.96 KB, 下载次数: 2)

这是改错题目

这是改错题目

作者: C语言渣    时间: 2013-8-18 14:47
关于scanf的应用方面@rosynirvana

360软件小助手截图20130818143013.jpg (20.33 KB, 下载次数: 3)

这是自己在外头编写的程序

这是自己在外头编写的程序

作者: C语言渣    时间: 2013-8-18 14:48
本帖最后由 C语言渣 于 2013-8-18 14:57 编辑


积分不够没办法发帖只能在原帖回复里头提问,请过来看看,谢谢#include <stdio.h>#include<stdlib.h>
int main()
{
    int a,b,c;
    scanf("%d %d",&a,&b);
    c=a+b;
    printf("%d+%d=%d",a,b,c);
    system("pause");
        return 0;
}


作者: rosynirvana    时间: 2013-8-18 15:35
C语言渣 发表于 2013-8-18 14:48
积分不够没办法发帖只能在原帖回复里头提问,请过来看看,谢谢#include #include
int main()
{

你贴文本的那一段没错,贴图片的那一段能看出stdlib.h写错了




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2