C程序改错题,重金求助
4个回答
展开全部
2 题
(1) scanf("%c",&a[i]); 改成 scanf("%s",a[i]);
(2) b = a[0] 改成 strcpy(b,a[0]);
(3) b = a[i] 改成 strcpy(b,a[i]);
(4) printf("max=%c\n",b); 改成 printf("max=%s\n",b);
3 题
(1) a[i-1]=-1 改成 a[i] = -1
(2) for(;i<100;) 的100改成n+1
(3) j>i 改成 j>=i
(4) for(;i<10;) 改成 i<n
展开全部
2找出了3个错误
scanf("%c", &a[i]);改为scanf("%s", a[i]);
printf("max=%c\n", b);改为printf("max=%s\n", b);
3题
a[i-1] = -1; 改为a[i] = -1;
scanf("%c", &a[i]);改为scanf("%s", a[i]);
printf("max=%c\n", b);改为printf("max=%s\n", b);
3题
a[i-1] = -1; 改为a[i] = -1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2题:
scanf得到n之后,需要对n进行判断,若n大于10,会导致内存越界
输入字符串时,应该是scanf(“%s”,a[i]),
b = a[0]不能这样赋值,需要使用strcpy
如上,b=a[i]不对,需使用strcpy
下面输出max的时候应该是%s 而不是%c
3题:
n没有初始化
a[i -1]= -1;应该为a[i]= -1;
第二个for循环改为i<n
第三个循环,j>i 改为j>=i
最后一个打印,i<10改为i<n+1;
第三题中,n一直未初始化赋值,是个最大的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-04-21
展开全部
2。1. scanf里面&a[i] 把&去掉 2.b=a[0] b是int行 a[0]是数组,不能直接赋值 3.b=a[i] b是int行 a[i]是数组,不能直接赋值 4。max=%c\n 改为max=%d\n
3题。1 n没有赋初值 第一个for循环 i<n 但这时候n没有值,就报错 2. 第二个for循环后i多加了一次,在第三个for循环的时候先把i减一。3 最后一个for循环 i<10 但是数组长度是a[100]==>100,最起码也应该是x的值 看你scanf(x)函数中给x赋的是几,那么数组就用多长。4.没有return 一个值
3题。1 n没有赋初值 第一个for循环 i<n 但这时候n没有值,就报错 2. 第二个for循环后i多加了一次,在第三个for循环的时候先把i减一。3 最后一个for循环 i<10 但是数组长度是a[100]==>100,最起码也应该是x的值 看你scanf(x)函数中给x赋的是几,那么数组就用多长。4.没有return 一个值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询