我的程序在vc下不能循环执行,不知道什么问题.编译什么的都没问题,麻烦大家看看
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 255
int Stack[MAXSIZE];
int Top=-1;//在这里用作栈顶指示符
void Push(int Stack[MAXSIZE],int a)
{
if(Top>=MAXSIZE-1)
printf(“堆栈已满,不能再插入数据!”);
else
{
Top+=1;
Stack[Top]=a;
}
}
void Pop(int Stack[255],int &e)
{
if(Top==-1)
printf(“当前堆栈已经是空栈!不能执行退栈操作!”);
else
{
e=Stack[Top];
Top–;
}
}
void main()
{
int N;
int e;
char Index;
printf(“请问您要进制间的转化吗?(Y OR N)\n”);
scanf(“%c”,&Index);
while(Index==’Y'||Index==’y')
{
printf(“请输入您要转化为八进制的十进制数:\n”);
scanf(“%d”,&N);
while(N)
{
Push(Stack,N%8);
N=N/8;
}
printf(“转化后的八进制为如下所示:\n”);
while(Top!=-1)
{
Pop(Stack,e);
printf(“%d”,e);
}
printf(“\n”);
printf(“请问您要进制间的转化吗?(Y OR N)\n”);
scanf(“%c”,&Index);
}
printf(“谢谢使用万里的程序!\n”);
}
>> 本文固定链接: http://www.vcgood.com/archives/1914
>> 转载请注明: jinqiangke 2007年11月11日 于 C语言帝国 发表
void main()
{
int N;
int e;
char Index;
printf(“请问您要进制间的转化吗?(Y OR N)\n”);
scanf(“%c”,&Index);
while(Index==’Y'||Index==’y')
{
printf(“请输入您要转化为八进制的十进制数:\n”);
scanf(“%d”,&N);
while(N)
{
Push(Stack,N%8);
N=N/8;
}
printf(“转化后的八进制为如下所示:\n”);
while(Top!=-1)
{
Pop(Stack,e);
printf(“%d”,e);
}
fflush(stdin); //其它不变,加上这一句 清空输入缓冲,,
printf(“\n”);
printf(“请问您要进制间的转化吗?(Y OR N)\n”); //不然你最后那个回车键到了这里
scanf(“%c”,&Index); //成了你要输入的,所以就退出了
}
printf(“谢谢使用万里的程序!\n”);
}