
正文
c语言输出乱七八糟的字符,c语言输出乱七八糟的字符是什么
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言二维数组输入正常,输出乱七八糟的
1、刚刚回答了你的题目,printf中的s[i][j]不用取地址,这个和scanf是不一样的,在printf中直接输出就可以了。也就是:printf(%d\n,&s[i][j]);修改为:printf(%d\n,s[i][j]);如有问题,欢迎追问。
2、1 1 1 1 分析后认为是正常的,它并不是随机数,而是乱码。
3、这是因为你定义的数组a[2][3]没初始化,你可以加一个初始值:int a[2][3]={0},(*p)[3]=a,i,j;这样就没问题了。
4、因为你输出的是地址,当然一长串乱七八糟的东西。
5、scanf(%s%d,&a[i][0],&a[i][1]);你要明确,你的数组时int类型的,不可以以%s输入数据,不能存储字符串,只要这个解决了,就可以了。
相关问答
Q1: C语言,字符串输出是乱码是怎么回事?
1、C语言字符串以\0结尾,如果不以该符号结尾则输出%s时会出错,程序一直往存放字符串的地址访问。而你的程序中并没有赋\0给那两个数组,所以会出现乱码。
2、这是C语言习惯,务必养成!\x0d\x0a\0是字符串结束符,每当解释器看到这\0才会认为字符串终止,而你的程序明显没有字符串结束符,所以连同垃圾内存一起读出来了。“烫烫。”等就是垃圾内存。
3、当该函数结束时,b数组已经消亡,所以即使你此时返回b的地址,里面的内容也已经不存在了(有些编译器可能会看到b数组的内容仍然存在,但这只是某个编译器的个别行为,C语言标准是不能保证数组内容仍然存在的)。
4、你这个乱码,你的文件里,学号长度为10个字节,所以你定义学号这个变量时,必须定义11个字节的长度,因为字符串的变量,必须要有一个\0作为结束,不然的话,显示的时候,没有结束符就会接着往下显示,就会有乱码出现。
Q2: 谁能帮我看看代码?c语言26行输出乱码。而如果我把14行注释得输出给打开...
1、该内存不能为 “read” 的提示。解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne 之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。
2、win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\winnt\apppatch\slayerui.dll。右键,属性,也会出现兼容性的选项。
3、题目自拟,以诗歌、散文为主,书法、绘画为辅;—1000字左右。... 内容丰富,情感真挚.能够体现“兰州银行·中华情·我爱我家”这一主题。 题目自拟,以诗歌、散文为主,书法、绘画为辅 ;—1000字左右。
4、你的代码当然编译不会出错。而且可以很好的运行,但是结果就是永远都不会是1,因为你就让他输出的2,结果怎么会是1呢。开发人员都知道:再也没有比修改语法错误再简单的了 直接看看编译器报的错,看看第几行,修改。
Q3: c语言输出字符串数组出现乱码
C语言字符串以\0结尾,如果不以该符号结尾则输出%s时会出错,程序一直往存放字符串的地址访问。而你的程序中并没有赋\0给那两个数组,所以会出现乱码。
输出出现乱码就是因为字符串结尾并没有结尾符\0。gets函数读入一行字符串时,会在最末尾自动加上\0结尾。
printf(XXX)} 就可以了~ 其中\0是字符串的结束符。
当该函数结束时,b数组已经消亡,所以即使你此时返回b的地址,里面的内容也已经不存在了(有些编译器可能会看到b数组的内容仍然存在,但这只是某个编译器的个别行为,C语言标准是不能保证数组内容仍然存在的)。
楼主注意字符数组的输入,cin字符数组的地址。
Q4: C语言编程,为何我的结果输出的乱七八糟。
这是因为你的输入输出的格式不对,也就是a的输出格式和a本来的格式不一样。也就是因为a是float类型的,但是你硬要输出int型,电脑不能识别,就会出现乱码了。也就是你的编程出错了。
main函数执行时,这里的student1是未赋初值的,所以studentname的值并不是星哥,你以%s输出它,自然会显示为“乱码”。改正方法是,既然你已经定义了全局变量,main函数里就不要再定义了。
而变量如果没有被赋值的话,系统就会默认赋值为整型的最小值,所以输出结果就不对了。如果你不想改变整个程序的话,你也可以采取直接换成都是if语句。也可以采取上面同学说的while循环,这样相对简洁些。
刚刚回答了你的题目,printf中的s[i][j]不用取地址,这个和scanf是不一样的,在printf中直接输出就可以了。也就是:printf(%d\n,&s[i][j]);修改为:printf(%d\n,s[i][j]);如有问题,欢迎追问。
void num的max和main中的max以及min并不是同一个,main中的max和min都是未初始的值。
Q5: c语言输出字符串为什么是乱码?
C语言字符串以\0结尾,如果不以该符号结尾则输出%s时会出错,程序一直往存放字符串的地址访问。而你的程序中并没有赋\0给那两个数组,所以会出现乱码。
输出出现乱码就是因为字符串结尾并没有结尾符\0。gets函数读入一行字符串时,会在最末尾自动加上\0结尾。
这是C语言习惯,务必养成!\x0d\x0a\0是字符串结束符,每当解释器看到这\0才会认为字符串终止,而你的程序明显没有字符串结束符,所以连同垃圾内存一起读出来了。“烫烫。”等就是垃圾内存。
你这个乱码,你的文件里,学号长度为10个字节,所以你定义学号这个变量时,必须定义11个字节的长度,因为字符串的变量,必须要有一个\0作为结束,不然的话,显示的时候,没有结束符就会接着往下显示,就会有乱码出现。
c语言输出乱七八糟的字符的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言输出乱七八糟的字符是什么、c语言输出乱七八糟的字符的信息别忘了在本站进行查找喔。






