字符串应该以“\0”结尾,如果没有他会一直显示下去,当超过字符串的长度时,显示出来的很多都是乱码了,你应该在字符串结尾设置个“\0”
烫 是window控制台上c编程最容易出现的乱码,其实很简单,你访问了垃圾内存,字符串使用前,请记得:memset(str, 0, sizeof(str));一下,这样垃圾内存你就访问不到了
#include
using namespace std;
int main()
{
char line[200];
int i=0;
cout<<"请输入字符:"<
while(line[i]!='\0')//字符串结束符为'\0'所以改为line[i]!='\0'
{
if((line[i]>='A'&&line[i]<='V')||(line[i]>='a'&&line[i]<='v'))
{
line[i]=char(line[i]+4);
}
else if((line[i]>='W'&&line[i]<='Z')||(line[i]>='w'&&line[i]<='z'))
{
line[i]=char(line[i]-22);
}
cout<
}
return 0;
}
char line[200] = {}; //初始化
那个是我遇到过,当时是因为定义的数组没有赋值,看看你的是不是也是那个情况...