我阅读了关于OP的一个问题,其中OP有以下代码
int main(){
long long int i;
long int j;
int k;
scanf("%lld %ld %d",&i,&j,&k);
return 0;
}
并且想知道长long int或long int是否会先保存。我的问题不同,因此我开了一个新的问题,而不是垃圾邮件OP的问题。抛开long int vs int的想法,因为long int可能需要两次内存提取加载/存储,如果它只是int vs int,并且scanf扫描所有值然后存储,考虑我们是否在架构上有3个管道阶段我正在研究,并不是所有的值都存储在一个循环中?有人确实指出这些说明不会重叠,但我找不到任何合理的在线资料来解决这个问题。
答案 0 :(得分:1)
围绕拨打dataSource
讨论管道阶段真是惊人!这有点像用一把镊子清理满是稻草的谷仓,或者在通过显微镜观察道路时驾驶卡车。
scanf
必须执行如此多的检查和测试才能实现规范,最终存储到结果变量中的微小细节与此代码行的整体性能完全无关(或缺少)