大神看看return用在这里竟然不行,是什么问题

#include<stdio.h>#include<cstdlib>main(){intm,n,x,y;printf("inputm,n\n");scanf("%d%d"... #include<stdio.h>
#include<cstdlib>
main()
{int m,n,x,y;
printf("input m,n\n");
scanf("%d%d",&m,&n);
if(n%2==1)
{printf("data error!%d is not a even number.\n",n);
return;
}
x=(4*m-n)/2;y=(n-2*m)/2;
if((x>=0)&&(y>=0))
printf("x=%d,y=%d",x,y);
else
printf("data error!\n");
system("pause");
}
这是我的程序她说:9 D:\My Documents\lesson6.cpp return-statement with no value, in function returning 'int'
展开
 我来答
帐号已注销
推荐于2017-10-15 · TA获得超过3000个赞
知道大有可为答主
回答量:1338
采纳率:75%
帮助的人:1302万
展开全部
C语言规定,如果一个函数没有明确写明返回类型,则默认是int型的,而不是默认为void
if(n%2==1)
{printf("data error!%d is not a even number.\n",n);
return;
}
因为main被默认为int型,所以这里要明确写出来,返回值是多少。随便加个数就行,比如return -1;
濮方雅BX
2013-02-17 · TA获得超过4042个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2473万
展开全部
你的main函数前没有用void修饰,所以编译器默认是int类型,所以你的return后面必须加上一个0之类的int数字。
追问
加了以后,我输入错误的值。程序不打印data error!%d is not a even number就没了咋回事?加了system("pause");就不return了……咋办??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Spacedoggy
2013-02-18 · TA获得超过192个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:215万
展开全部
main函数不加修饰的话便是int型, 返回值表示程序是否执行. 一般来说返回0代表成功, 其他的所有值都是执行失败
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式