搜索
查看: 2109|回复: 8
打印 上一主题 下一主题

编程求助

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-29 12:36:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
总共有四处错误,就找出来了三个,帮帮忙

QQ拼音截图未命名.png (6.7 KB, 下载次数: 17)

QQ拼音截图未命名.png
沙发
发表于 2013-4-29 20:10:18 | 只看该作者
1.缺少头文件<stdlib.h>
2.system语句内shell命令应该是字符串,应该用双引号
3.system语句结束缺少;
4.输出函数printf写错
板凳
发表于 2013-4-29 20:36:23 | 只看该作者
Teddy 发表于 2013-4-29 20:10
1.缺少头文件
2.system语句内shell命令应该是字符串,应该用双引号
3.system语句结束缺少;

sleep()不是标准库里的,所以加不加stdlib.h和这题目没关系
地板
发表于 2013-4-30 19:32:24 | 只看该作者
rosynirvana 发表于 2013-4-29 20:36
sleep()不是标准库里的,所以加不加stdlib.h和这题目没关系

stdlib.h是为了兼容system语句组的
5#
发表于 2013-4-30 23:43:34 | 只看该作者
本帖最后由 rosynirvana 于 2013-4-30 23:47 编辑
Teddy 发表于 2013-4-30 19:32
stdlib.h是为了兼容system语句组的

yep, you're correct

但是,
我把啊哈C的习题整个做过一遍,按照惯例,缺少双引号是算作前后两处错误的
所以我觉得原本的用意是,少分号一处,双引号两处,printf一处
而且#include预处理指令的细节,在啊哈C中也没有涉及,所以考察缺少一个头文件也是不合理的

最新版的教材里是这么写的
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.   system(color f2)
  6.   print("hi");
  7.   system("pause");
  8.   return 0;
  9. }
复制代码
这样就很容易看出原本的用意了

如果说C语言标准,那么sleep()要去掉才正确,除非假设是posix环境并且 #include "unistd.h"

总而言之,这道题目在设计上是有点问题的
我去提个建议,把“几处”错误的描述改掉
6#
发表于 2013-5-6 11:22:39 | 只看该作者
这么多大神,,,你应该懂得。。。
7#
发表于 2013-5-7 12:44:46 | 只看该作者
用Sleep要加#include <windows.h>
8#
发表于 2014-8-4 21:04:12 | 只看该作者
除了
#include <stdio.h>
int main()和return 0;
对了以外,其余都有错(我把代码改了,加了错误原因),自己慢慢看释义吧:
[mw_shl_code=c,true]#include <stdio.h>
#include <windows.h>//这里缺少头文件。(也可用void __stdcall Sleep(unsigned long)代替)(#include <stdlib.h>可不要)
int main()
{
        system("color f2");//这里缺引号""及分号;。
    printf("hi");//这里犯的是书写的低级错误,忘写一个f
        Sleep(5000);//这里忘记S大写
        return 0;
}
[/mw_shl_code]
9#
发表于 2018-4-17 21:19:15 | 只看该作者
1、system(color f2)没加双引号
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表