一道C语言程序改错题,急!
读如下程序,找出其中所有的错误。main(){inta,x[10];chars[100];doubleA,B,a,b;for(i=0;i<10;i++)scanf("%c...
读如下程序,找出其中所有的错误。
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); 展开
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); 展开
4个回答
展开全部
多如牛毛
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的非负整数
最后加个}
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)
a=b=1;
else
a=b=2;
这样才对嘛
第6行你是想输入数字 还是想输入字符?
a似乎重复定义
scanf 应传入地址 第6行scanf(……,&x[i])
第8行同样问题
还有C中if 的语法怎么和BASIC一样了呢?
if(A>B)
a=b=1;
else
a=b=2;
这样才对嘛
第6行你是想输入数字 还是想输入字符?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不知道你写这程序的用途 但我改了一下 运行无错:
#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);
}
#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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf("%d%d",&A,&B);
应该用%ld%ld 吧,数据类型好像不对
if A>B then a=b=1 else a=b=2;
改成if(A>B) a=b=1; else a=b=2;
应该用%ld%ld 吧,数据类型好像不对
if A>B then a=b=1 else a=b=2;
改成if(A>B) a=b=1; else a=b=2;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询