由此可见,乱码的原因与:变量类型、输入控制符、输出控制符,都有关系(仔细一想,这不是废话吗……)。 先写代码看一下这3种数字格式在内存中是什么样子的 #include <stdio.h> #include <string.h>//memcpy函数头文件需要 #include <stdlib.h>//malloc函数头文件需要 void ToBin(int n);//声明一下转换二进制...
那可能是你的数组没有初始化吧,前面你赋值了,但是后面是随机值,打印出来就是乱码
你是否有过这样的烦恼:想用printf打印汉字,结果出来的全是乱码?用scanf输入的汉字,明明看起来和代码中预设的字符串一模一样,可是strcmp就是不能比较相等?涉及到汉字输入输出的程序,在自己计算机上的表现完美无瑕,到了同学的计算机上就变成了一团浆糊?不必忧虑,因为这个帖子将与你一起探索scanf和printf的秘密,发现字符...
如:%s表示输出字符串,%d表示输出整数等。例如,如果结构体成员名称为name,则可以使用printf("%s", s...
printf("this is the %dth of %d",&sum,&year);//这里不应该有“&”,你这样写输出的是变量的地址。
估计是你文本的存储格式问题。重新另存为一份UTF-8格式的文件。UTF-8编码格式中的数字占用一个字节。而ANSI或其他字符是占用两个字节的。
define subiects 3 //学科数量 define students 4 //学生人数 int main(void){ int a[students][subiects] = { 53,54,76,87,89,56,76,85,45,75,76,45 };int i = 0, j = 0, sum = 0;//sum为总分 double ave;//ave为平均值 //输入成绩 for (i = 0; i < students; i+...
其他地方没有问题。出现乱码是因为编译器中缺少那些字符,所以是显示为乱码,不用担心,不会影响最后的评分。//请用如下代码测试 void encryChar(){ int i, j, len;char *pf;char ch;for(i=0;i<maxline;i++){ pf=(char*)xx[i];len = strlen(pf);for ( j=0; j <len; j++ ){ i...
{printf("%c ", arr[i]);i++;}return 0;} 如意1573 低能力者 5 贴吧用户_G32KK3W 异能力者 6 苦力怕40 帕秋莉糕 12 %d 待办事项 毛蛋 1 因为你老师写的这几个数字是ascii表里I can do it对应的值,你写的很多都不是数字和字母,当然是乱码了 挺堵纠察葛 便当 3 printf里改成%d ...