C语言编程哪里不对,为什么输出会有后面的字符?

题目和输出如图,该怎么解决

第1个回答  2021-10-31
这段C语言代码问题在于for.循环中退出条件不对,把for里面i<99换成a[i]即可。
第2个回答  2021-10-31

按图修改就可以了:

本回答被提问者采纳
第3个回答  2021-10-31

for语句的循环判断条件改为a[i]!='\0'

输入的字符串长度可能<99,所以要用实际的字符串长度结束判断

第4个回答  2021-10-31
一般情况下的一般情况下的话如果说这个c言编程不对一般情况下的话如果说这个C语言编程不对的话像这种情况下的话建议大家可以直接说从后台的官方里面直接退出以后就可以了
第5个回答  2021-10-31
你得循环是根据i得最大值来设计得,而gets返回得又不能确保是100字节得,凭什么要循环那么多次?
正确得是循环
int length = strlen(a);
for(i =0 ; i< length; i++)

C语言编程哪里不对,为什么输出会有后面的字符?
这段C语言代码问题在于for.循环中退出条件不对,把for里面i<99换成a[i]即可。

c语言计算结果不对 哪里有问题?
void num的max和main中的max以及min并不是同一个,main中的max和min都是未初始的值。max和min可以定义为全局或者要把max和min返回去

C语言大神求解。。为什么我这样不对啊。。 我要保留3未有效数字_百度知 ...
这里有c语言的不同类型计算的类型转换,首先(i*1000+0.5)的结果是double型,结果你强制转换成了整型,所以除1000后的值也为整型,但是你又赋给了float型的i,所以结果就是15后面加6个零,这里面有不同类型数据计算和赋值,具体的你看书上有,望采纳!

C语言中说字符串结尾应该是字符'\\n',但是看我在下面的代码中结尾是字符...
“C语言中说字符串结尾应该是字符'\\n',” 这句话是不对的,字符串的默认结尾是‘\\0’,例如:char a[] = “abcd”,在内存中是这么存储的:系统会默认的将最后一位加上一个'\\0'做为字符串的结束符。这时,a的数组长度为5,而a的字符串长度为4,即它只有4个字符。再来看这个:char a...

这个c语言代码错哪里了?
C编译的程序对语法检查并不像其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,通过对C的学习,积累了一些C编程时常犯的错误,以供参考...

输出字符串的时候为什么会出现小方块(C语言)
一、输出格式可能不对,建议改变一下输出格式再试试,实在不行就把所有的的格式实验一遍,个人觉得使用s%输出应该就没问题了。二、编码方式设置不一致,建议使用某pad++打开,修改统一编码,建议UTF-8,然后再重新编译运行,还有就是设置编译器的默认编码。

请问一下大佬们,这道C语言编程题我为什么错,还有这些监测点的划分依据是...
只是有部分数据不通过测试。另外通过了的数据范围也不一定都对,结果显示正确可能是数据样本不够全。补充说明:在C语言编程中,选择适当的数据类型很重要,需要根据数据范围合理选择。选择大了浪费内存,同时也增加了计算机计算负担;选择小了就会产生溢出得不到我们想要的结果。

基础C语言编程时易犯错误有哪些
l 类型不匹配的问题。(例如:有float a=3.5,但输出的时候printf(“a=%d”,a);则屏幕上会显示出a=0.00000或者提示其它运行错误)。基本原则是:float对应%f, int对应%d, char对应%c。 l 个数不匹配。无论是哪个函数,都可以有n个参数,第一个永远是“”括起来的内容,...

c语言 输出字符串中的大写字母,不要重复输出。这是我写的,发现那个判断...
② 你的思路是逐位检测s,发现符合要求的(大写字母), 检测是否在t中已存在? 如果没有才添加。 那么把j(t的序数)也放到for循环中是不合理的, 因为j只要在s中大写字符而且t中没有才会递增。③ 逐一C89\/90的标准中没有bool这个变量, C99中有,但需要头文件stdbool.h 因此例子修改如下(和...

C语言编程错误……我完全看不出来为什么错了……= =
int process(p);【就是这……不停地Declaration syntax error……我无能了……】int (*p)();{ (*p)();} 这里肯定错了,应该是下面这样 int process( int (*p)()){ (*p)();} 另一处错误同意楼上的。

相似回答