功能:想通过这个函数实现输入一些数据,但是是以输入0作为输入结束标志的。
问题:运行结果是当输入0时并不会结束循环,而是还可以一直输入数据。
求各路大佬帮忙看看哪里错了?。。
我改了一下:但是运行出来还是错的。。。。。
for(i=0;i<100;i++)
{
scanf("%d",&a[i]);
if(a[i]=='0')
break;
}
功能:想通过这个函数实现输入一些数据,但是是以输入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;
}