| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1716 人关注过本帖
标题:【求助】为什么教材上的这个例子,在DOSbox上运行错误?
只看楼主 加入收藏
SSY006
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-12-13
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:4 
【求助】为什么教材上的这个例子,在DOSbox上运行错误?
例1.3 求两个整数中的较大者
#include <stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
//求两个整数中的较大者的max函数
int max(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
}

我首先在VS上输入过,然后它显示说scanf is not safe.之类的然后建议用scanf_s,然并卵,还是调试失败。然后我用了DOSbox,它就显示说'z'is assigned a value which never used in function max.
到底是为什么啊?求救求救
搜索更多相关主题的帖子: function assigned include 
2015-12-13 18:09
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
收藏
得分:20 
max最后加一句
return z;
2015-12-13 18:15
SSY006
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-12-13
收藏
得分:0 
回复 2楼 newdos
真的是,但是为什么要加上这个的?因为我输入过很多书本上的例子,不加return都可以的。
2015-12-13 18:19
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
收藏
得分:0 
因为你函数申明要求有个返回值,而你又不返回值,你的编译器木有明确提示你,如果你用gcc,vc编译器,多半会提醒你要返回值的一个编译警告function should retun value,并生成执行文件,如果你忽视它,就有可能得不到你想要的结果。

仔细读书上关于函数这一章,并理解它。
2015-12-13 19:22
SSY006
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-12-13
收藏
得分:0 
回复 4楼 newdos
嗯嗯,谢谢
2015-12-13 19:33
快速回复:【求助】为什么教材上的这个例子,在DOSbox上运行错误?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017752 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved