一道C语言程序改错题,急!

来源:百度知道 编辑:UC知道 时间:2024/05/10 13:17:06
读如下程序,找出其中所有的错误。
main()
{
int a,x[10];
char s[100];
double A,B,a,b;
for (i=0;i<10;i++) scanf("%c",x[i]);
scanf("%d%d",&A,&B);
for(i=0;i<50;i++) scanf("%c",s[i]);
if A>B then a=b=1 else a=b=2;
printf("%d,%d\n",x[0]=A+x[10],B+x[10]);
printf("s=%s\n",s);

我不知道你写这程序的用途 但我改了一下 运行无错:
#include <stdio.h>
void main()
{
int i,x[10];
char s[100];
int A,B,a,b;
for (i=0;i<10;i++) scanf("%d",x[i]);
printf("please input A and B");
scanf("%d%d",&A,&B);
for(i=0;i<50;i++) scanf("%c",s[i]);
if (A>B) a=b=1;
else a=b=2;
printf("%d,%d\n",x[0]=A+x[9],B+x[9]);
printf("s=%s\n",s);
}

多如牛毛
a重复定义,i未定义,把int a,x[10]; 改成int i,x[10];
scanf("%d%d",&A,&B); 改成scanf("%lf%lf",&A,&B);
scanf("%c",x[i]); 改成scanf("%c",&x[i]);
if A>B then a=b=1 else a=b=2; 改成if(A>B)a=b=1; else a=b=2;
x[0]=A+x[10],B+x[10] 改成x[0]=(int)A+x[10],(int)B+x[10],还有这个下表越界了,改成小于10的非负整数
最后加个}

变量i似乎未定义
a似乎重复定义
scanf 应传入地址 第6行scanf(……,&x[i])
第8行同样问题

还有C中if 的语法怎么和BASIC一样了呢?
if(A>B)