xcxd.net
当前位置:首页 >> C语言编程题,结果有烫烫烫 >>

C语言编程题,结果有烫烫烫

t数组中的字符串 没有'\0'标记 就你的 程序而言 可以 在声明t数组时 使用char t[100]={0};这样的形式 初始化一下 就不会出现问题了

字符串后面缺少必要的'\0',将后面没有初始化的内容输出出来了,前面定义时可以这样改一下看看: char str[100] = {0};

这是因为你没有赋值串尾标记'\0'。 #include#includeint main(void){int i,j,n; char a[100],b[100]; scanf("%s",a); n=strlen(a); for(i=0;i

因为你定义的字符型数组是20个字节,但是你在输入赋值时,没有将其全部赋值,但是输出是却又要输出20个,那些没有赋值的当然就乱码了。

缓冲区越界了,把s和a数组的缓冲区设置大一点就好了,一定要保证数组缓冲区大小比输入的字符串长度要大啊 #include #include #include main() { char i,s[100]={0},a[100]={0};//

因为输出"烫烫烫烫"是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC(打个比方,你定义一个10个元素的char数组,结果你初始化了2个元素,后面没初始化,没赋值,没有使用,就变CC了)。CC CCH在Unicode的编码中就是表示中文的“烫”...

代码没有太大的问题(除了那个fflush函数结果是未定义的) 我猜是你输入的姿势不正确, scanf("%d,%s",&number,name);中%d和%s之间你用逗号分隔,意思就是你输入时要按:数字 逗号 字符串 的形式输入 比如:123,abc。如果没有中间那个逗号,那么...

请lz在使用数组前,先把字符数组用‘\0’初始化!就行ok了! 因为的字符串的长度是80.而可能你赋值的时候,没有达到80的长度!而且程序也不会自动帮你添加‘\0’。所以打印的时候,是整个数组全部打印出来的!也就出现了这些。。。烫烫烫烫烫烫。。...

字符数组没有结尾符号,或者打印字符串的地址错了

这是你定义的字符串没有初始化为0,当输出的时候编译器找到不到字符串结束符。就会出现这样的乱码。你可以将你的结构体中定义的字符数组都初始化为0.或者直接用memset()把结构体定义的变量初始化为0试一下。你的程序没有具体看,不过应该就是...

网站首页 | 网站地图
All rights reserved Powered by www.xcxd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com