C语言怎么设计一个函数使输入某个值时强制结束程序??
main()函数称之为主函数,一个C程序总是从main()函数开始执行的,但是不一定在main函数最后结束。
在 main() 之后的最后一条语句结束后,程序还要运行一些代码,以正常返回操作系统。main函数执行完后还执行其他语句,
有时候需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理,方法就是用atexit()函数来注册程序正常终止时要被调用的函数,atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有返回值的函数,它的原型是:
int atexit(void (*)(void));
扩展资料
main函数的使用
示例:
#include
#include
void fn1(void);
void fn2(void);
int main(void)
{
atexit(fn1);
atexit(fn2);
printf("main exit ...
");
return 0;
}
void fn1()
{
printf("calling fn1()...
");
}
void fn2()
{
printf("calling fn2()...
");
}
参考资料来源:百度百科—main函数
可以按照如下步骤:
1 读入字符串,可以使用scanf以%s的方式读入字符串,也可以以gets一次读入整行字符串。
2 判断字符串。使用strcmp函数,与设定的字符串相比较。如输入字符串存在字符数组cmd中,当输入"test"的时候执行程序,那么当strcmp(str, "test")返回值为0时,代表需要执行对应程序。
3 执行程序。
如果要执行的是某一个函数,那么直接在2步中判断成功时调用对应函数即可。
如果要执行的是另外一个可执行文件,可以通过
system(exec_file_name);
的方式,执行可执行文件。其中exec_file_name是存储要执行的可执行文件名及路径的字符串。
1.引入头文件#include "stdafx.h"和#include "stdio.h"。
2.写出主函数void main(){},在函数体内写出如下代码:
int number = 0;
while(true)
{
printf("请输入数字:
");
scanf ("%d",&number);
if (number == 1)
{
return;
}
}
3.点击红叹号测试。
程序清单:
// 停止循环.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
void main()
{
int number = 0;
while(true)
{
printf("请输入数字:
");
scanf ("%d",&number);
if (number == 1)
{
return;
}
}
}
CWnd::OnKeyDownafx_msg void OnKeyDown( UINT nChar, UINT nRepCnt, UINT nFlags );参数: nChar 指定了给定键的虚拟键码。 nRepCnt 重复计数(用户按住键引起的重复击键数目)。 nFlags 指定了扫描码、暂态键码、原来的键状态和上下文代码,如下面的列表所示: 值 描述 0-7 扫描码(依赖于OEM的值) 8 扩展键,比如功能键或数字键盘上的键(如果它是扩展键,则为1) 9-10 未使用 11-12 Windows内部使用 13 上下文代码(如果按下键时ALT键时被按下的,则为1;否则为0) 14 原来的键状态(如果在调用之前键时按下的,则为1;如果键是弹起的,则为0) 15 暂态(如果键正在被释放,则为1;如果键正被按下,则为0) 对于WM_KEYDOWN消息,键暂态位(15位)为0,并且上下文代码位(13位)为0。说明:当用户按下了一个非系统键时,框架调用这个成员函数。非系统键是指当ALT键为被按下时按下的键盘键或者当CWnd拥有输入焦点时按下的键盘键。由于自动重复,在调用OnKeyUp成员函数之前可能会产生多个OnKeyDown调用。指明原来的键状态的位可以被用来确定OnKeyDown调用时是第一次被按下还是重复的按下状态。对于IBM增强101和102键键盘,增强键包括键盘主体部分的右ALT键和右CTRL键;数字键盘左侧的INS,DEL,HOME,END,PAGE UP,PAGE DOWN和箭头键;以及数字键盘上的斜杠(/)和ENTER键。一些其它的键盘可能支持nFlags中的扩展键位。注意 框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。
如果要强制结束程序的话这样:
if(i=='某个值')
return ;
如果只是强退出函数的话这样:
if(i=='某个值')
break;
直接用条件语句最简单!
if(i=“你想结束的值”)
就可以了、具体的题具体来看是不一样的
if(i == 0)
exit(0);
C语言怎么设计一个函数使输入某个值时强制结束程序??
1.引入头文件#include "stdafx.h"和#include "stdio.h"。2.写出主函数void main(){},在函数体内写出如下代码:int number = 0; while(true) { printf("请输入数字:\\n"); scanf ("%d",&number); if (number == 1) { return; } } 3.点击红叹号测试。程序清单:\/\/ 停止...
c语言编程 从键盘输入一个数值,直到该数为正数为止,并求其平方根_百度...
首先,定义一个整型变量n和一个双精度浮点型变量r。接着,进入一个无限循环,等待用户输入一个整数。在每次循环中,程序会读取用户的输入,并检查是否为正数。如果输入的数为正数,则跳出循环。否则,程序会继续等待用户输入。在确认输入的数为正数后,使用sqrt函数计算该数的平方根,并将结果存储到变量r...
c语言:定义一个函数,使我们输入一个数,然后再输出同样的数。_百度知...
输入数字的函数一般不会这样写的,另外在主函数中也没有调用你的函数,需要修改。在手机上用易历知食软件里的微C程序设计来演示修正后的代码,供参考。手机上代码如下图:手机上运行效果如下图:
c语言定义一个用于输入整数数组元素的函数?
要定义一个用于输入整数数组元素的函数,您可以使用以下C语言代码:在上述代码中,我们定义了一个名为input_array的函数,该函数接受两个参数:一个整数数组arr和一个整数n,表示数组的长度。函数使用for循环迭代数组中的每个元素,并使用scanf函数从用户输入中读取一个整数,并将其存储到当前元素中。在mai...
C语言 21.写一个函数,其输入参数为一个整数,返回值为该整数的打头数字...
可以参考下面的代码:include <stdio.h> include <stdlib.h> int yi(int m){ while(m>=10)m\/=10;return m;} int main(){ int a,b;printf("请输入一个整数:");scanf("%d",&a);if(a<0){ b=-yi(-a);} else b=yi(a);printf("该整数以%d打头!\\n",b);return 0;} ...
c语言怎么输入一个函数的值
如下:include <stdio.h> include <math.h> int main(){ float x, result;printf("请输入x的值:");scanf("%f",&x);if(x <= 0){ result = 0;} else if(x <= 10){ result = sqrt(x);} else { result = 2 * x + 3;} printf("%f",result);return 0;} ...
C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
首先看运行截图 上代码:include <stdio.h> include <string.h> void f(char str[]);main(){ static char str[100]; \/\/设置为静态让方法调用时改变 gets(str);f(str);puts(str);} void f(char str[]){ int len = strlen(str),i;char c;for(i=0;i<len\/2;i++){ c = str[...
C语言中,一题给出一函数,然后要求编一程序,输入一个X值,输出Y值.
include<stdio.h>int main(){int x,y; scanf("%d%d",&x,&y); printf("(x+y)\/2=%d\\n", (x+y)\/2); printf("(x+y)\/(x-y)=%g\\n", (float)(x+y)\/(x-y)); printf("(x+y)*(x-y)=%d\\n", (x+y)*(x-y)); return 0;} ...
用C语言编写:编写一个函数,要求在主函数中输入两个数,输出其中最大值...
C语言代码如下:include<stdio.h> int main(){ int a,b;printf("please enter two number:"); ---两个数字用空格隔开,以回车键结束输入。scanf("%d %d",&a,&b);if(a>b)printf("The max is %d",a);else if(b>a)printf("The max is %d",b);else printf("The two Numbers...
c语言题目:编写一函数,输入一个十六进制数,输出一个对应的十进制数.将...
编写一函数!请注意是一个函数,虽然 include <stdio.h> void main(){ int a=0;printf("please input your number:\\n");scanf("%x",&a);printf("the result is %d",a);getch();} 也可以,但这绝不是题目要求。include "stdio.h"include "string.h"long DEC( char *HEX );int Ture(...