十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
函数返回上一级使用return语句就行了。
创新互联是一家专注于成都网站制作、网站设计、外贸网站建设与策划设计,澄城网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:澄城等地区。澄城做网站价格咨询:13518219792
c标准库里有一套函数:setjmp/longjmp ,程序员可以在任意位置调用setjmp保存现场,然后在任意另外位置调用longjmp跳到那个保存的现场。这样就可以满足直接调回主函数的需求,但这套函数保存现场并不充分,而且打破正常流程控制,很不稳定,一般来所不推荐使用。
中断里面不能用形参和返回值!!!
具体的做法是声明一个全局变量,在中断中改变变量的值或者说状态。
主程序就负责判断这个变量的状态,根据状态做出选择,如果状态比较多就用SWITCH,否则if就可以了。
对于你补充的问题可以这样
在函数里,需要退出的地方写上,return;
if(有推出键按下) retrun;
c语言函数返回值会回到第一位。程序运行时会一层一层进入函数,然后进入到最后一层得到返回值后,又将返回值一层一层返回,然后回到第一层函数。
#include"stdio.h"
#include"string.h"
struct account
{
char name[20];
int money;
}accounts;
void plm()
{
printf("您账户的余额:%d",accounts.money);
}
void qwe()
{
int cunkuan;
printf("请输入存款金额:");
scanf("%d",cunkuan);
accounts.money=cunkuan+accounts.money;
printf(" 存款成功!\n账户余额:%d\n",accounts.money);
}
void poi()
{
int qukuan,i;
printf("请输入取款金额:");
while(1)
{
scanf("%d",qukuan);
if(accounts.moneyqukuan)
{
printf("账户余额不足!你的账户余额:%d\n请重新输入:",accounts.money);
}
else
{
accounts.money=accounts.money-qukuan;
printf("取款成功!\n账户余额:%d\n",accounts.money);
break;
}
}
}
void main()
{
char name[20];
char mima[20];
int q;
printf("====================================================\n");
printf("====================================================\n");
printf("==================欢迎你使用银行系统================\n");
printf("====================================================\n");
printf("====================================================\n\n");
printf("请输入你的账户名:");
gets(name);
printf("请输入密码:");
gets(mima);
printf("\n");
if(strcmp(name,"zengxin")==0strcmp(mima,"12345")==0)
{
printf("登陆成功!\n");
int t=1;
while(t)//主函数加上一个while循环就好了,t表示是否继续使用系统,选择0时,t=1,即可退出系统了
{
printf(" 1 存款 2 取款 3 开户\n");
printf(" 4 销户 5 查询 0 退出\n请选择:");
scanf("%d",q);
switch (q)
{
case 1:
{
qwe();
break;
}
case 2:
{
poi();
break;
}
case 3:
break;
case 4:
break;
case 5:
{
plm();
break;
}
case 0:
{
t=0;
break;
}
}
}
}
else
printf("输入的账户名和密码错误!!");
}