用C语言实现从键盘输入一组非零整数(以输入零作为输入结束的标志)

用C语言实现从键盘输入一组非零整数(以输入零作为输入结束的标志)

问题描述:

图片说明
功能:想通过这个函数实现输入一些数据,但是是以输入0作为输入结束标志的。
问题:运行结果是当输入0时并不会结束循环,而是还可以一直输入数据。
求各路大佬帮忙看看哪里错了?。。

我改了一下:但是运行出来还是错的。。。。。
for(i=0;i<100;i++)
{
scanf("%d",&a[i]);
if(a[i]=='0')
break;
}

输入的是字符0而不是数字0,字符0的ASCII码是0x31 非0

int getString(char* buff,int bufflen){
int i=0;
for(;i<bufflen;i++){
buff[i] = getchar();
if(buff[i] == '0'){
break;
}
}
if(i==bufflen){
return -1;
}
return 0;
}

for函数外是不是还有个while死循环?

把'0'改成数字0,去掉单引号。