C++程序运行结果求助

来源:百度知道 编辑:UC知道 时间:2024/06/23 05:09:50
#include<stdio.h>
#include<iostream.h>
#include<string.h>
void main()
{
char a[12][10]={"January","February","March","April","May","June","July","August","September","October","November","December"};
char (*p)[10]=a;
int i,j;
cout<<"请输入一个月份(1~12):";
cin>>i;

if(i>=1&&i<=12)
{
cout<<"您所输入的月份的英文名为:"<<endl;

for(j=0;j<10;j++)
cout<<p[i-1][j];

}
else
{ cout<<"您输入的数字不在1~12之内!"<<endl;}

getchar();
}

该程序在编译运行后,输入正确的月份(1-12之间)后,为什么总是先要执行一次getchar(),才会输出结果,而这个getchar(),明明是放在if语句后面执行的?请高手赐教

for(j=0;j<10;j++)
cout<<p[i-1][j]; //由于本行未结束,要等待一个结束符,才使程序暂停执行
cout<<endl;//加入本结束行就正常运行

你用的是vc6吧,那可以不用加getchar();他自动会停止的

我在VC++6.0下运行正确```不知道楼主遇到的是什么情况~~
输入2 回车
输出February Press any key to continue~~

不是先执行getchar()
这里是利用getchar()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,用法:在主函数的return语句之前加上getchar();