| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3097 人关注过本帖
标题:C++ source file 编译后运行的程序 出现乱码的原因都有哪些啊??
只看楼主 加入收藏
wenrong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-19
收藏
 问题点数:0 回复次数:16 
C++ source file 编译后运行的程序 出现乱码的原因都有哪些啊??
比如下面这个程序 有乱码怎么回事??
#include <iostream.h>
void main()
{
char s[50];
int i;
cout<<"Input a string:";
cin.get(s,50);
cout<<"The string you put in:"<<s<<endl;
cout<<"Output string:";
for(i=0;i<50;i++)
{
if(s[i]!=' ')
cout<<s[i];
else if(s[i]='\0')
break;
else
continue;
}
}

搜索更多相关主题的帖子: source 乱码 file 
2007-04-19 22:53
wenrong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-19
收藏
得分:0 
我觉的是字符串输出'\0'的问题,可是不知道怎么改,另外我设置了 if(s[i]='\0') break;
可是为什么在输出完所有字符后还会 输出后面的内容,也就是那些乱码......
2007-04-19 22:56
wenrong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-19
收藏
得分:0 
谁能帮我解决一下阿
2007-04-20 10:17
wq_camel
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-3-24
收藏
得分:0 
//比如下面这个程序 有乱码怎么回事??
#include <iostream.h>
void main()
{
char s[50];
int i;
cout<<"Input a string:";
cin.get(s,50);
cout<<"The string you put in:"<<s<<endl;
cout<<"Output string:";
for(i=0;i<50;i++)
{
if(s[i]!='\0')
cout<<s[i];
else i=50;

}
}
这个是我改过的,可以运行了!

[此贴子已经被作者于2007-4-20 11:10:51编辑过]

2007-04-20 11:09
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 
你没有初始化时,后面是随机码,但是你又用 了
else
continue
随机码也满足这个条件
所以就输出了乱码

当你开始怀疑自己时,说明你已经失去了判断力
2007-04-20 12:37
wenrong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-19
收藏
得分:0 
回复:(wq_camel)//比如下面这个程序 有乱码怎么回事...

谢谢啊~
不过这个程序是要求 输入一段字符串,然后把其中的空格删除后输出其他的字符,例如:输入"what are you doing?"
输出"whatareyoudoing?"
你再帮我看看可以怎么改写

2007-04-20 12:38
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 

#include <iostream.h>
void main()
{
char s[50];
int i;
cout<<"Input a string:";
cin.get(s,50);
cout<<"The string you put in:"<<s<<endl;
cout<<"Output string:";
for(i=0;i<50;i++)
{
if(s[i]!=' '&&s[i]=='\0')
cout<<s[i];
else
break;
}

}
这个试试


当你开始怀疑自己时,说明你已经失去了判断力
2007-04-20 12:39
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 
#include <iostream.h>
void main()
{
char s[50];
int i;
cout<<"Input a string:";
cin.get(s,50);
cout<<"The string you put in:"<<s<<endl;
cout<<"Output string:";
for(i=0;i<50;i++)
{
if(s[i]!=' '&&s[i]=='\0')
cout<<s[i];
else if(s[i]==' ')
continue;
else
break;
}
}



运行结果:
Input a string:what are you doing?
The string you put in:what are you doing?
Output string:Press any key to continue

当你开始怀疑自己时,说明你已经失去了判断力
2007-04-20 12:43
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 
明白了
刚没明白问题
不好意思阿

当你开始怀疑自己时,说明你已经失去了判断力
2007-04-20 12:43
wenrong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-19
收藏
得分:0 
回复:(边城路人)你没有初始化时,后面是随机码,但...
抱歉,我是一个初学者,没有明白你说的,可以说的更简单一些么?
没有初始化指的是哪里?是说的 字符串么? 另外 continue 语句 不是仅用于 跳出本次循环,进入下一次循环么? 跟 初始化有什么联系??
可不可以 把我写的程序改一下 然后 主要的地方作一下注释 发出来啊? 谢谢啦~
2007-04-20 12:46
快速回复:C++ source file 编译后运行的程序 出现乱码的原因都有哪些啊??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.108943 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved