C语言return;的用法
/*return的用法不是返回到上一层函数吗?为什么我用了return之后却结束了呢?编译器是vs2013*/#include<stdio.h>inti;voidskil...
/*
return的用法不是返回到上一层函数吗?为什么我用了return之后却结束了呢?
编译器是vs2013
*/
#include <stdio.h>
int i;
void skill()
{
printf("三你没有技能。按3返回");
scanf_s("%d", &i, sizeof(i));
if (i == 3)
{
return;
}
}
void battle()
{
printf("二2.技能");
scanf_s("%d", &i, sizeof(i));
if (i == 2)
{
skill();
}
}
main()
{
printf("一1.战斗");
scanf_s("%d", &i, sizeof(i));
if (i == 1)
{
battle();
}
} 展开
return的用法不是返回到上一层函数吗?为什么我用了return之后却结束了呢?
编译器是vs2013
*/
#include <stdio.h>
int i;
void skill()
{
printf("三你没有技能。按3返回");
scanf_s("%d", &i, sizeof(i));
if (i == 3)
{
return;
}
}
void battle()
{
printf("二2.技能");
scanf_s("%d", &i, sizeof(i));
if (i == 2)
{
skill();
}
}
main()
{
printf("一1.战斗");
scanf_s("%d", &i, sizeof(i));
if (i == 1)
{
battle();
}
} 展开
展开全部
#include <stdio.h>
int i;
void skill()
{
printf("三你没有技能。按3返回");
scanf_s("%d", &i, sizeof(i));
if (i == 3)
{
return; //这里返回battle
}
printf("return skill\n");//加上这句能看到行程//如果i是3,你看不到这里
//这里虽然没有return ,也会返回battle
}
void battle()
{
printf("二2.技能");
scanf_s("%d", &i, sizeof(i));
if (i == 2)
{
skill(); //收到返回,继续下面
}
printf("return battle\n");//加上这句能看到行程
//走到这里,没事做,返回main
}
main()
{
printf("一1.战斗");
scanf_s("%d", &i, sizeof(i));
if (i == 1)
{
battle(); //收到battle的返回,继续下面
}
printf("return main\n");//加上这句能看到行程
//没事做,结束main
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是返回到上一层函数,可是你每一层的函数调用了里面的一层函数后,接下来就什么都不做了,程序会继续执行,而你什么都没写,当然什么都没做就一直返回到最上面一层函数知道结束。
更多追问追答
追问
我不是写了吗?一,二,三之类的啊,而且还有等待按键啊
我知道了。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你从skill返回后,下面没有代码了呀。
追问
这样啊,我想返回到battle()刚开始那块怎么办
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询