1.C语言 怎么从一个函数返回主页面
不要用网页之类的思路来考虑传统编程语言的问题
所谓“怎么回到主函数” 这根本没的说, 子函数运行完了自然就回到主函数。
如果你是想回来继续scanf ,那就循环嘛
while(1) {
printf 。;
scanf 。;
save();
}
总之C语言的流程控制就那几种, 多的没有, 做任何事情都只能用这几种逻辑来搭
另外, 你先printf 再声明变量在c语言是不行的。 至于前面有人说的void main 是错的, main 或者最好 int main
2.c语言怎样从分函数回到主函数
要知道 C语言是由MAIN函数开始也由它结束。
每调用一次分函数,只要运行完毕后就会回到调用分函数的地方继续往后执行。
C语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数。虽然goto语句可以无条件跳转,但是必须在同一个函数中使用。
因此解决的方法也是用一个特殊的值作为需要返回的标志,然后在两层调用函数中都遇到该值就返回,但是这个方法也有两个前提:
1)你的两个子函数都是由返回值的函数
2)你选择的特殊值和函数正常的返回的取值不会冲突,不会引起二义性。
同样的操作,C++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,汇编语言可以用jmp指令跳转实现这个需求。因此建议你的这个问题还是用C++ 的异常去解决比较好。
3.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.money { 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")==0&&strcmp(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("输入的账户名和密码错误!!"); }。
4.c语言如何定义一个函数可以返回多个值回去给主函数呀
函数的返回值顶多是一个数,通过函数直接返回的这个数只有在是指针时才能给出多个数据结果。
可以考虑以下几个方法:
1. 返回指针:
int* display() { int *p; p=malloc(sizeof(int)*6); 。 return p; } //用p[0]~p[5]计算各位
void main() { int *p; p=display(); 。 free(p); }
2. 使用全局变量:将shiwa,wa,qiao,bai,shi,ge定义成全局变量,然后子程序和主程序直接用
3. 使用函数参数:
void display(int* shiwa,int* wa,int* qiao,int* bai,int* shi,int ge)
函数中用类似这样的用法计算:(*ge)=Data%10;
void main() { int shiwa,wa,qiao,bai,shi,ge; display(&shiwa,&wa,&qiao,&bai,&shi,&ge) }
4. 用一个足够长的数返回:
long display() { long n; 。 n=shiwa; n*=10; n+=wa; n*=10; n+=qiao; n*=10; n+=bai; n*=10; n+=shi; n*=10; n+=ge; return n; }
void main() { int wa; long n; n=display(); wa=n/10000; wa%=10; }
5.C语言如何写有返回值的函数
C语言,有返回值的处理,可以分两种情况,1,返回一个值,可以用:
返回类型 函数名([参数列表])
{
return (返回值);
}
多个返回值,可以返回一个自定义结构体,
返回结构体 函灵敏名([参数列表])
{
return (结构体名);
}
也可用指针的形式,直接操作,此时,接收返回值变量的地址,可以以指针的形式,传递给函数),进行操作,具体方法和实例.
6.c语言 让函数返回到上一级 和 直接返回到主函数 分别应该用什么语句
直接跳回一个地方
C用setjmp, longjmp
C++则用try catch throw的异常处理机制
return则返回调用的函数
举一个C++的例子,函数从funcB直接返回了主函数main:
int funcA()
{
int a;
funcB();
//之后的语句都不会执行
a = 1;
a *= 2;
return a;
}
void funcB()
{
throw int(0);
}
int main()
{
int r = 0;
try
{
r = funcA();
}
catch (。)
{
// 该程序直接跳到这里
// r仍然等于0
}
return 0;
}
转载请注明出处育才学习网 » c语言返回主函数怎么写