|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define Stack_Size 80
typedef struct
{
char *a[Stack_Size];
int top;
}SeqStack;
void InitStack(SeqStack *S)
{
S->top=-1;
}
void Push(SeqStack *S,char a[])
{
if(S->top==Stack_Size)
{
printf("栈满!");
exit(0);
}
S->top++;
S->a[S->top]=a;
printf("%s\n",S->a[S->top]);
}
int main()
{
SeqStack S;
InitStack(&S);
char a[Stack_Size];
int i=0;
while(a!=NULL)
{
scanf("%s",a);
Push(&S,a);
}
return 0;
}
//我想问问上面哪个while语句怎么设置结束条件,我的想法是,我输入i am xiaoming然后回车就表示结束,然后scanf是以控制作为结束符,相当于,我把(i)(am)(xiaoming)送进上面哪个栈了,然后后面再出栈就能完成题目的反向输出。我就是不知道怎么设置while的结束条件。
do
{
scanf("%s",a);
Push(&S,a);
} while(getchar()!='\n');//功能: 清除单词间的1个空白字符(只能清1个,和题意已对上),并判断是否到字符串结尾
|
|