字符串问题请教c高手,一个简单又奇怪的字符串问题。

leonatcs 2005-03-29 08:23:53
这个小程序,为什么不管怎么打印总有乱码存在呢?能不能讲讲原理,谢谢!

#include <string.h>
#include <stdio.h>
#include <conio.h>
main()
{
char *stra;
char str1[10];
int i;
for (i = 0; i<=8 ; i++)
str1[i] = 48+i;
str1[i+1]='\0';
printf("%s",str1); //或者用puts(str1);
getch();
}
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
leonatcs 2005-03-29
  • 打赏
  • 举报
回复
晕!这个小问题竟然忘了!
谢谢二位!
arrowcy 2005-03-29
  • 打赏
  • 举报
回复
原来都有人说了,其实这个就是因为strl[9]你没有赋值,是一个随机数,我上面试验的时候开始没有乱码是因为那个随机数恰好对应一个不能显示出来的字符了,然后一按键,系统提示字符Press...就写在后面了,那个P就和那个没有显示出来的字符和成了一个乱码
arrowcy 2005-03-29
  • 打赏
  • 举报
回复
知道了
不要那个i+1改为i就可以了
arrowcy 2005-03-29
  • 打赏
  • 举报
回复
有点奇怪
我在VC下执行,没有显示乱码,但是按一个键以后,就出现乱码了
dongpy 2005-03-29
  • 打赏
  • 举报
回复
for (i = 0; i<=8 ; i++)
执行完,i为9
dongpy 2005-03-29
  • 打赏
  • 举报
回复
str1[i+1]='\0';
=============》
str1[i]='\0';

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧