主题:谁能解释一下这个栈,为什么这么输入也可以这么输出?
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#define N 20
main()
{
char *p ;
char *s[N];
int i,top=0;
for(i=0;i<5;i++)
{
p=(char *)malloc(2*sizeof(char));
gets(p);
s[top++]=p;
}
while(top>0)
{
p=s[--top];
puts(p);
p=NULL;
}
}
就是在我输入时候了。恩,1 2 3 4 (一直输没按enter) 2 3 4 5 (enter),然后结束,但是,为什么,输出的时候还是、按照1 2 3 4 2 3 4 5?
难道这个栈可以用来存储这个空格的?还是可以用来存储这个整个的结构
、请各位高手针对这个问题,子细分析一下???
#include "stdlib.h"
#include "conio.h"
#define N 20
main()
{
char *p ;
char *s[N];
int i,top=0;
for(i=0;i<5;i++)
{
p=(char *)malloc(2*sizeof(char));
gets(p);
s[top++]=p;
}
while(top>0)
{
p=s[--top];
puts(p);
p=NULL;
}
}
就是在我输入时候了。恩,1 2 3 4 (一直输没按enter) 2 3 4 5 (enter),然后结束,但是,为什么,输出的时候还是、按照1 2 3 4 2 3 4 5?
难道这个栈可以用来存储这个空格的?还是可以用来存储这个整个的结构
、请各位高手针对这个问题,子细分析一下???