循环次数的repeat也被计算了求解
求整数的位数以及位数之和#include<stdio.h>
int main(void)
{
int i,repeat;
scanf("%d",&repeat);
for(i=1;i<=repeat;i++){
int j=0,n=0,sum=0;
char a[100];
scanf("%c",&a[j]);
while((a[j]>='0'&&a[j]<='9')||(a[j]=='-')){
sum=sum+(a[j]-'0');
n=n+1;
j=j+1;
if(a[0]=='-'){
j=0;n=0;sum=0;
}
scanf("%c",&a[j]);
}
printf("number=%d,sum=%d\n",n,sum);
}
return 0;
}
运行时结果如下:
5 //5是循环的次数
number=0,sum=0
123456
number=6,sum=21
-1111111111111111111111111111111
number=31,sum=31
.....
为什么循环的5也会被计算?