有没有办法计算 C 语言中传递给 scanf()
的参数数量?特别是,通过 scanf()
分配 int
数组时。
示例:
int array[1000], i;
for(i=0;i<1000;i++)
scanf("%d",&array[i]);
我需要计算用户插入了多少个值
最佳答案
我不认为有内置的方法可以做到这一点,但为什么不创建一个在 scanf 成功返回时递增的计数器,否则就中断循环呢?
int scanf_counter = 0;
int array[1000], i;
for(i=0;i<1000;i++) {
if(scanf("%d",&array[i] > 0) {
scanf_counter++;
} else {
break;
}
}
虽然我不确定我是否完全理解你的问题,因为你总是可以通过这样做找到数组的大小
int size = sizeof(array)/sizeof(array[0])
关于在 C 中计算传递给 scanf() 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28587066/