C语言改错

三、程序改错题(下列程序中,加“**”的行有错误,请更正,每句2分,共计20分)
1.给定程序的功能是:判断键盘所输入的两个数是否相等。请改正程序中的错误,使它能得出正确的结果。
#include <stdio.h>
void main()
{ int a,b;
printf ("please input two number: \n");
** scanf ("%d,%d", a,b);
** if (a=b) printf ("a equel to b \n");
else printf ("a is not equel to b \n");
}

2.修改下列代码中的错误语句。
#include <stdio.h>
void main()
{int a=1,*p;
char str[]=”Hello”,*q;
** p=a;
** q=&str;
}
3.给定程序的功能是:返回a所指数组中最小的值所在的下标值,修改错误代码行:
int fun(int *a,int n)
{int i,j=0,p;
p=j;
for(i=j;i<n;i++)
** if(a[i]<a[p]) a[p]=a[i];
** return(n);
}
4.给定程序的功能是:两个数求和,修改错误代码行:
#include <stdio.h>
void main()
{
** int a,b;
a=3;
b=6;
sum=a+b;
** printf(“sum=%f\n”,sum);
}
5.给定程序的功能是:求1+2……+99+100,修改错误代码行:
#include <stdio.h>
void main()
{int i,sum;
i=1;
** sum=1;
do{
sum+=i;
**  i--;
}while(i<=100);
printf(“%d\n”,sum);}

1:scanf ("%d,%d", &a,&b);
if(a==b)
2:
p=&a;
q= str;
3:
** if(a[i]<a[p]) p=i;
** return p;
4:
** int a,b,sum;
** printf(“sum=%d\n”,sum);
5:
** sum=0;
*  i++;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-03
看不民攻。