因为缓存中存有数据,所以,getchar()读取时,会读到返回数据,而不等待用户输入键盘按键。修改方法为:
一、getchar()之前加清除缓存(在windows系统下有效)
fflush(stdin) //清除缓存
getchar()//等待用户按键(回车)
system("cls")
二、采用系统命令pause,替换掉getchar()
system("pause")//调用系统命令pause暂停,等待按"任意"键!
system("cls")
三、调用conio.h中的getch()函数
getch与getchar基本功能相同,差别是getch直接从键盘获取键值(不读,也不清除缓存中的数据),不等待用户按回车,只要用户按一个键,getch()就立刻返回。
#include <conio.h>//引用相关头文件
getch()//等待用户按键(回车)
system("cls")
c语言return返回到上一级,比如一个递归程序,从第三层返回到第二层。C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
1、可以用while循环,一个菜单一个while循环,while循环里在套一个while循环;
2、例如:
cout<<"请选择:"cin>>choiceswitch(choice)
{
case '1':
{
while(run1)
{
cout<<"请选择:"cin>>x
switch(x)
{
case '1':
{
}
break
case '2':
{
}
break
case '0': //选择0是级可返回主菜单
{
run1=0
}
break
}
}
break
case '2':
{
}
break
case '3':
{
}
break
}