#include<stdio.h>
void main(void){ int i,b[50],sum=0,count=0; char c; printf("实现从键盘上输入任意个数相加的加法器\n"); printf("请输入需要运算的加数吧:\n"); do { scanf("%d",&b[i]); count++; sum+=b[i]; i++; scanf("%c",&c); }while(c!='\n'); printf("你总共输入了%d个数\n",count); printf("\n"); for(i=0;i<count;i++) { printf("你输入的第%d个数是:%d\n",i+1,b[i]); } printf("\n"); printf("具体结果是:\n"); printf("("); for(i=0;i<count-1;i++) { printf("%d",b[i]); printf("+"); } printf("%d",b[count-1]); printf(")="); printf("%d",sum); printf("\n"); }
这个i再后面都有给他赋初值啊!!
追答第一次运行到scanf("%d",&b[i]);这一句的时候,i尚未被赋值。这个i后面只有给他进行++操作,但初始值并不确定。