gpt4 book ai didi

c - 这是如何工作的 :while (scanf ("%d %d", &a, &b), (a || b))

转载 作者:行者123 更新时间:2023-11-30 20:50:51 25 4
gpt4 key购买 nike

我的问题是,在下面的程序中,代码是如何实现的

while (scanf("%d %d", &a, &b), (a || b))

正在评估中?

程序获取两个数字并打印总和:

int a, b; 
while (scanf("%d %d", &a, &b), (a || b))
printf("%d\n", a + b);

最佳答案

阅读有关 C 的更多文档及其 standard library .

首先仔细阅读 scanf 的文档.

然后阅读 comma operator logical operators (例如 ||&&)

此外,使用所有警告和调试信息 (gcc -Wall -g) 编译代码,并在调试器 (gdb) 中逐步运行它。这将使您对计算机如何运行代码有一些(部分)直觉。

别忘了阅读 undefined behavior ,特别是 C.Lattner 的博客:What every C programmer should know about undefined behavior .

更好的代码可能是:

int a, b; 
while ((a=b=0), (scanf("%d %d", &a, &b)==2) && (a || b))
printf("%d\n", a + b);

关于c - 这是如何工作的 :while (scanf ("%d %d", &a, &b), (a || b)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38027068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com