c语言中要编写按“ctrl+z”退出程序,怎么编?要调试过的

#include <REG51.H> /* special function register declarations */

#include <stdio.h> /* prototype declarations for I/O functions */

main()
{int a;

#ifndef MONITOR51
SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */
TR1 = 1; /* TR1: timer 1 run */
TI = 1; /* TI: set TI to send first char of UART */
#endif

while(scanf("%d",&a)!=EOF)
printf("%c\n",a==1?'A':a==2?'B':a==3?'C':a==4?'D':'?');
return 0;
}
为什么我这段c51程序在kell3里调试的时候,按ctlr+z不能退出程序啊?

第1个回答  2012-03-15
#include<stdio.h>

main()
{
while(getchar()!=EOF)
{

}
}
+z主要是读到文件尾部追问

看我的问题补充

追答

我汗
坑爹啊 大哥

追问

while(scanf("%d",&a)!=EOF)
这里按ctrl+z怎么退不出程序啊

追答

多按几次

追问

也不行啊,用kell3调试的

本回答被提问者采纳

c语言中要编写按“ctrl+z”退出程序,怎么编?要调试过的
main(){ while(getchar()!=EOF){ } } +z主要是读到文件尾部

c语言中如何用ctrl+z结束数据输入
int main(){ int x;while(scanf("%d",&x)!=EOF);}

C语言要求编写函数输入的任意内容输出,直到Ctrl+Z退出程序
void main(){ char c;while((c=getchar())!=EOF&&c!=26){ printf("%c\\n",c);} return ;}

c语言怎么输入若干个正整数,以ctrl+z作为结束符号
1、首先打开C-free5,进入主界面后,点击左上角的空白页选项,新建一个空白的工程,用来实现c语言的输入。2、新页新建完成后,在前几行打入c语言主函数的基本框架,框架打好后即可调用输入函数。3、这里的输入函数以scanf为例,首先定义一个整型变量,随机命名这里以a为例。4、变量定义完成后,在调用...

c++如何编程使得输入ctrl+z时使一个循环结束
判断条件写为:while((c=getchar())!=EOF);就可以用ctrl+z结束循环了 C语言中,EOF即文档的结尾.但是,当你写一个小程序,并以EOF作为判断条件时,就无法输入文档的结尾了,只能人工输入一个,这个人工输入的文档结尾就是Ctrl+Z 比如:include <stdio.h> int main(){ int c;do { printf("请输入...

C++中Ctrl+Z是怎么结束输入的?
ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。Ctrl+Z:一般用于输入字符串时,比如下面这个程序。include <iostream> include <vector> include <string> using namespace std;int main(){ vector<string> a;string tmp;while (cin>>tmp){ a.push_back(tmp);} for (...

如何在c语言中实现ctrl+z
在资源文件写 110 ACCELERATORS { "z", 4000, VIRTKEY, CONTROL } 在窗口过程中的 command 消息中添加 4000 消息处理 加上 hAcce = LoadAccelerators(hInstance,110);在GetMessage循环里加上 TranslateAccelerator(hWnd,hAcce,&Msg)以上是在Windows编程中 ...

怎么让C语言写的计算器计算完一组数以后不让程序结束,返回再重新计算别...
include<stdio.h>#include <ctype.h>int main(){ while(1) {float a,b;printf("请输入两个正数,中间用逗号隔开:\\n");scanf("%f,%f",&a,&b);printf("两数之和a+b为%f\\n",a+b);printf("两数之差a-b为%f\\n",a-b);printf("两数之积a*b为%f\\n",a*b);if(b==0){...

简单c语言,我的代码进入死循环了,哪儿错了
你的代码没错,但是要按【Ctrl+Z】退出:我的输入与输出:2 3 10 3 4 10 ^Z Press any key to continue 另外提示一点:while(scanf("%d %d",&x,&y)!=-1)最好改为:while(scanf("%d %d",&x,&y)!=EOF)其实EOF就是-1,只是这样比较专业!

c语言输入ctrl+z一直刷屏
表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复多次),就表示输入结束

相似回答