c语言输出input is wrong!为什么后面会有数字?

如题所述

c语言输出input is wrong!后面会有数字,这通常是因为字符串后面的串结束符,也就是空字符丢失或者没有赋值造成的。请赋值str[15]='\0';然后再进行输出,就没有这个现象了。
另外还需要保证这个字符数组的大小至少要有16个字符才可以。否则会造成数组溢出从而导致这种现象的发生,或造成其他不可预测的结果。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-11-17
c语言字符串最后一个字符一定要是'\0',否则会将内存里面的数据读取出来直到读取到'\0'字符

c语言输出input is wrong!为什么后面会有数字?
c语言输出input is wrong!后面会有数字,这通常是因为字符串后面的串结束符,也就是空字符丢失或者没有赋值造成的。请赋值str[15]='\\0';然后再进行输出,就没有这个现象了。另外还需要保证这个字符数组的大小至少要有16个字符才可以。否则会造成数组溢出从而导致这种现象的发生,或造成其...

阶乘递归c代码,为什么负数提醒重新输入数字之后还是会算出一个...
因为你函数里面无论如何都有一个返回值。return f;即使n<0,还是会返回f,尽管f未赋值,但是编译器可能会给它赋值为0,或者是个随机数。可以采纳楼上的方法。但是对于一个比较成熟的函数来说,它应该可以接受任何输入,并通过返回值来告知调用者,是否完成了所设计的功能,而不应该通过exit(0)来终止...

C语言读入数据的问题
很高兴为你答题!你不是输入不进去,而是赋值有问题了,scanf("%lf %c %lf\\n",&a,&c,&b);格式控制符之间明显存在空格;所以你输入的时候也要输入空格!最好将"%lf %c %lf之间空格去掉!下面程序供你参考:include<stdio.h>#include<math.h> int main(){ double a,b,sum; char ch; ...

在c语言中printf("input:\\n");是什么意思
意思 :打印输出内容:input: 然后换行。光标移动到下一行。'\\n'转义字符。换行的意思。\\+数字或字符。成为为一个字符,即转义字符。

c语言输出超出限制
printf("input is wrong!\\n");} else if(hours>=0&&hours<=40){ money=hours*meim;} else if(hours>40&&hours<=60){ money=(hours-40)*1.5*meim+40*meim;} else if(hours>60){ money=(hours-60)*3*meim+20*1.5*meim+40*meim;} printf("%f\\n",money);return 0;} 现在...

c语言,输入之后没法停止,求解,输出结果如图 #include<stdio.h> in_百...
你都while(1)无限循环了,程序又没有跳出无限循环的语句,当然就不会停了

为什么C语言程序输入不了内容,有什么错误?
另外scanf输入默认是空格分隔,所以字符串和字符串之间要有空格,每个数字之间也要空格。像这样输入:include <stdio.h> int main(){ int i,j;char c[5][20];char s[5][20];float a[11][6];printf("please input:\\n");for(i=0;i<5;i++)scanf("%s%s",c[i],s[i]);for(i=0;...

这个程序怎么提交会wrong answer呢?(c语言)
我有两个猜想:1)for(i=0;i<n;i++){ printf("%d",b[i]);if(i<n-1)putchar(' ');} 改成 for(i=0;i<n;i++)printf("%d ",b[i]);即最后一个输出的数字后面也有一个空格 2)既然题目没明确说m的范围,那么把m>n的情况也考虑了试试吧 ...

C语言判断输入的是否为数字 并且是否小于4大于1 如果不满足 重新循环输 ...
这个程序很不好,为避免死循环 printf("no number!");后加个break;main(){ int i,j=3;while(1) { printf("Input:");if(scanf("%d",&i)){ if(1<=i&&i<=4){ printf("right!");break;} if(i<1||i>4){ printf("wrong number!\\n");} } else{ printf("no number!");...

C语言,输入一个字符串反向输出,为什么会这样?
定义的字符串数组长度为20,而且并没有赋初始值。输入的字符串长度小,后面未赋值的部分就输出乱码了,一般就是“烫”。解决方法:方法一:在字符串数组的最后添加空字符,表示字符串的结束。方法二:给字符串数组赋初始值,全部赋为空字符'\\0'。方法一代码:include <stdio.h>#include <string.h>...

相似回答