1. c语言中函数退出的问题
如果是你malloc开辟的,就需要手动释放空间。
2. 请问C语言 在void函数里怎么退出呢
1、直接使用return;语句就可以了。void类型函数只是没有返回值,不代表不能使用return返回。
2、return表示中止当前函数的运行,并将操作权返回给调用者。如果是在main函数中,表示将操作权返回给操作系统。return 不是必须要返回一个值。当然,就算不写return,在函数执行完毕后也会返回操作权给调用者。写return是一种清晰的风格,可以防止一些意外的错误。
例程:
voidfunc(void){
......
......
return;
}
3. C语言怎么按任意键退出
C语言中可以使用函数system()、getch()实现按键退出。
1、直接调用系统函数
system(“pause”):
system()会调用fork()产生子进程,
由子进程来调用/bin/sh-c
string
来执行参数string
字符串所代表的命令,
此命令执行完后随即返回原调用的进程。
system(“pause”)可以实现冻结屏幕,便于观察程序的执行结果。
2、调用getch()函数:
此函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,需要include
(3)c语言退出扩展阅读
一、使用getch函数设置退出
所在头文件:conio.h。
函数用途:从控制台读取一个字符,但不显示在屏幕上。
函数原型:intgetch(void);
返回值:读取的字符。
二、打开文件的操作通过标准库函数
fopen
函数
fopen
的第二个参数指定了文件的访问模式,访问模式决定了流所许可的输入和输出操作。对访问模式字符串的许可值有严格的限制。
该字符串的第一个字符只能为三种形式:r(read)、w(write)或者
a(append)。另可加字符b表示以二进制方式打开文件。
4. C语言如何退出函数
方法一:
main()函数写成int型的,即int main()
然后结束的时候
只需return 0;
代表程序正常结束
方法二:
利用
if(条件)
exit();
if语句条件满足时退出程序。
5. C语言中退出for循环的方法
可以用关键字break来退出for循环。
具体使用方法可以参考下例:
inti;
inta[5]={0,0,0,0,0};
for(i=0;i<5;i++)
{
a[i]=i;
if(i==3)
break;//当i=3时,退出for循环
}
//以上程序执行完后,数组a的值为0,1,2,0,0
6. C语言怎么退出while循环
while
是一个循环体,退出循环体的方法有:
①
循环体条件
不成立,如:while(
a>0);
当
a≤0
的时候,条件
a>0不成立,while
循环结束,退出
while
循环。
②在循环体内使用无条件跳出语句(break),如
while(1){if(b>5)break;}当
b>5
的时候,程序执行
break
,跳出
while
循环体,循环体被结束。
③在循环体内使用
函数返回
语句(return),如
while(1){if(c>8)
return
(XXX);},当
c>8的时候,程序执行
return,退出函数返回到上级函数。其中
返回值
XXX
需要根据
函数类型进行返回,如
int
型函数
int
fun(),XXX
应为
int型,空返回值函数
void
fun(),XXX
可以省略。
7. c语言中强制退出语句是什么啊
区分应用环境及功能,有以下几种:
1 强制退出整个程序。
可以调用exit()函数。
调用该函数需要引用头文件stdlib.h。
该函数需要一个int型的参数,用来把执行结果返回给主调进程。
比如exit(0)相当于在主函数中返回0, exit(-1)相当于在主函数中返回-1等。
2 强制退出循环。
在循环中可以通过调用break语句来实现强制跳出循环。
3 强制退出函数。
在任意函数中,均可调用return语句实现强制退出函数。如果是在主函数main中,使用return也可以做到强制退出整个程序。
8. 用c语言怎样添加暂停和退出
getchar();
getchar 的用途是从从标准输入流读取一个字符,读回车符时退出
getchar();永远只向缓存中输入一个字符,
getchar();的用法很多;
一种就是清空回车符 这种情况一般发生在在循环中涉及到输入的情况
还有一种是某些编译平台(IDE)在运行程序时并没有在程序运行后给人看结果的时间 这时候 在程序最后加上getchar()就能造成程序的暂停 给程序员度结果的机会
用getchar时,在键盘上按一个字符后,要按回车才能读取进去;用getch时,在键盘上按一个字符马上就被读取进去,不用按回车,因此可以作为“按任意键继续”的执行语句。
system("pause");
使用它得加个头文件#include<stdlib.h>
system就是调用从程序中调用系统命令(和shell命令)。
system("pause")就是从程序里调用“pause”命令;
而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回
9. C语言中如何实现按任意键退出
直接调用系统函数 system("pause")即可:
system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程。
system("pause")可以实现冻结屏幕,便于观察程序的执行结果。
(9)c语言退出扩展阅读:
C语言参考函数:
C语言isupper()函数:判断一个字符是否是大写字母
C语言isspace()函数:判断一个字符是否是空白符
C语言isprint()函数:判断一个字符是否是可打印字符
C语言islower()函数:判断一个字符是否是小写字母
C语言labs()函数:求整数的绝对值(针对long类型)
10. c语言退出问题
你的要求只有一个办法可以实现,那就是信号。编写信号程序需要一定的基础,不知道你有没有这个基础。
如果你有了基础,那看下我下面的例子,很简单的例子,注释也很详细,如果你对信号一无所知,那我就没辙了,除了信号我想不到其它办法帮你完成这个东西。楼上几位的ctrl+c其实就是一个信号,但那个是采用系统默认的信号,并不是自己定义的。
下面的例子采用了linux系统调用的内容,在windows下不能运行,如果你想跨平台,建议你看看C语言库函数中的信号章节。
信号接收程序
#include "stdio.h"
#include "signal.h"
#include "sys/types.h"
#include "unistd.h"
void new_op(int, siginfo_t *, void *);
int main(int argc, char**argv) {
struct sigaction act; //用于创建新信号
struct sigaction old_act; //旧的信号
int sig;
sig = atoi(argv[1]); //第一个参数变成信号的标志,以15做第一个参数,因为信号个数有限制,且某些信号是不能从载的,例如9号信号
sigemptyset(&act.sa_mask);
act.sa_flags = SA_SIGINFO;
act.sa_sigaction = new_op; //新的信号定义的操作是new_op函数
if(sigaction(sig, &act, &old_act) < 0) { //开始从载信号
printf("install sigal error\n");
return 1;
}
while(1) {
sleep(2);
printf("Now we wait for signal\n");//信号安装完毕,应用程序就可以自己开始执行
}
}
void new_op(int signum, siginfo_t * info, void * myact) {//信号制定的函数
printf("recive signal %d\n", signum);
exit(1);//退出
}
信号发送程序
#include "stdio.h"
#include "sys/types.h"
int main(int argc, char ** argv) {
pid_t sig = atoi(argv[1]); //进程PID标识号做第一个参数
printf("we send sig to %d\n", sig);
sigqueue(sig, 15, NULL); //15号信号发送,如果你安装的不是15号,就指定安装的信号
}
程序不要在windows下编译,是通过不了的,因为我用的是linux系统调用。不过原理差不多了,换成C库函数实现不是很难,但我赖的去看C库函数关于信号的章节。
以上是源代码,如果没看懂,稍微看下我下面介绍的原理
原理:每个进程都有自己的信号表,信号是软件对硬件中断的一种模拟,他大致过程是这样的,进程安装好信号表后,会在特定的时间去检查自己是否有信号要相应(根据不同的操作系统可能不同),在linux下,进程每次由中断现场返回到用户空间时候都会检查自己是否有信号要响应,有的话就执行自己制定的操作,ctrl+c就是采用了默认的信号相应和kill 进程PID相似。
只能介绍这么多了,因为信号是个比较多的内容。仅仅是个回帖不能介绍太多,你自己去查相关的章节就能弄明白。