c语言问题,输出结果是乱码

c语言问题,输出结果是乱码,第1张

你在定义x结构体的同时,已经定义了一个x型的全局变量student1并赋了初值,然而,你的main函数里又定义了同名的局部变量student1并没有赋初值。main函数执行时,这里的student1是未赋初值的,所以student1name的值并不是"星哥",你以%s输出它,自然会显示为“乱码”。

改正方法是,既然你已经定义了全局变量,main函数里就不要再定义了。

#include <stdioh>

#include <stringh>

struct x {

char name[10];

int age;

char address[10];

char sex[10];

} student1 = {"星哥",20,"天水","女"};

int main() {

/struct x student1; 注释掉这一句就会是正常的/

printf("%s\n",student1name);

return 0;

}

运行结果

do {

fputc(ch,fp); //第一次,ch还没有值,所以会有乱码出现

ch=getchar();

} while(ch!='@' );

修改如下:

ch=getchar(); //先读一个

while(ch!='@' ) //当不是@时循环

{

fputc(ch,fp);

ch=getchar();

}

我的运行没有问题啊,

由此可见不是程序问题,解决方法1: 这个问题是因为语言设置不正确。如果想在AppWizard生成的工程文件中使用中文,在在MFC

AppWizard的第1步中选择中文资源,选择Chinese(PRC),如果你在语言列表中没有找到有关中文的选项,说明你的VC++的中文支持模块没有安装。此时,应退出VC++,在VC++的光盘的DevStudioSharedIDEBinIDE目录下找到APPWZCHSDLL文件,将其拷贝到硬盘的DevStudioSharedIDEBinIDE目录下即可,再启动VC++,就可以看到这一选项了。使用这一选项生成的工程文件中的所有资源都是中文的。VC++还提供了繁体中文(APPWZCHTDLL)、日文(APPWZJPNDLL)和韩文(APPWZKORDLL)的支持模块。

方法1:

如果你的工程中的菜单、对话框、字符串等资源不是由AppWizard生成的,而是手工添加的,你必须保证该资源的Language选项为Chinese(PRC)。具体的做法是在资源列表中选择资源,然后在快捷菜单中选择Properties,在话框中设置Language下拉框。如果在Language中选择English,尽管在集成环境中可以正常显示中文,但编译后就变成了诸如"___"之类的乱码了。

方法1: 有一个解决方案不必从头作起:找到rc文件(资源文件),把其中LANGUAGE 9,

1的地方改为4,2;codepage(1252)改为codepage(936);另外把#include "afxresrc" 改成#include

"lchsafxresrc";把"afxresrc" 改成"lchs\afxresrc"即可,其中的数据根据不同文字代码可能不同

希望对你有帮助

以上就是关于c语言问题,输出结果是乱码全部的内容,包括:c语言问题,输出结果是乱码、C语言文件开头出现乱码、c语言运行程序结果出现类似中文的乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10105660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存