我的程序错在哪为什么会输出乱码?
来源:百度知道 编辑:UC知道 时间:2024/05/14 17:31:37
#include<iostream.h>
#include<stdio.h>
#define size 10
void main()
{
char array[size],ch,*p;
ch=getchar();
int i=0;
while(ch!='\n'&&i<size)
{
array[i++]=ch;
ch=getchar();
}
p=array;
while(*p!='\n')
{ cout<<*p;++p;}
}
#include<stdio.h>
#define size 10
void main()
{
char array[size],ch,*p;
ch=getchar();
int i=0;
while(ch!='\n'&&i<size)
{
array[i++]=ch;
ch=getchar();
}
p=array;
while(*p!='\n')
{ cout<<*p;++p;}
}
忘了加字符串结束符\0。
在p=array的前面加一句:
array[size-1] = 0;
很简单,当你的输入超过十个字符还不按回车的话,输出时在整个数组都找不到回车符,就会一直接着进行下去,后面的输出就不是你所能预测的乱码了!