#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;
}
getch();
}

其实这个就是指针越界了恩,吧while(top>0)就可以了,你看,如果要是指针越界了,那么这个处于程序安全的需要,VC终止输出了,要是在win tc或者其他的编译器中会以另外的一种形式表现出来,,就是乱码,,,也就是这个指针变量随便执想的一段数值,,
所以这个要多多注意了 ,额,
本文详细介绍了使用C语言实现字符串输入与输出的循环过程,重点讨论了如何避免指针越界的问题,确保程序运行安全。通过实例代码展示了正确的字符串操作方法,包括动态内存分配、字符串获取及安全的循环输出策略。

5838

被折叠的 条评论
为什么被折叠?



