编译出错了!谁能帮我修正

来源:百度知道 编辑:UC知道 时间:2024/07/07 13:43:03
main()
{
int a,n,count=1;
long int sn=0,tn=0;
printf("please input a and n\n");
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d\n",a,n);
while(count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);
}

我想问这套源码错在哪里?又该如何修正呢!

我运行了一下,没有任何错误,我用的是DEVC++
#include <stdlib.h>
#include <stdio.h>
int main(int argc,char** argv)
{
int a,n,count=1;
long int sn=0,tn=0;
printf("please input a and n\n");
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d\n",a,n);
while(count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);
system("PAUSE");
}

注意输入时应这样:“2,5”,就可以出正确结果,而且两个数都不宜过大。

scanf("%d,%d",&a,&n);
中间的,应该去掉
scanf("%d %d",&a,&n);

scanf("%d,%d",&a,&n); 输入流是s按照 "," 分隔的,就是说你从stdout输入两个数字时,需要用“,”作为分隔符,默认的是空白符。

编译错误是什么?