首页 > 试题广场 >

以下程序运行后的打印结果是: #include stdio

[单选题]
以下程序运行后的输出是()
#include <stdio.h>                        
int main(void){
    int x = 10, y = 20, t = 0;
    if (x == y) t = x; x = y; y = t;
    printf("%d, %d\n", x, y);
    return 0;
}

  • 10, 20
  • 20, 0
  • 10, 0
  • 20, 10

B?D?Emmmm

发表于 2019-07-29 08:19:36 回复(0)
答案B
if的作用域只到它后面的t=x;后面两个不再作用域中。
相当于:
if (x==y){t=x;}x=y;y=t;

发表于 2019-08-01 21:44:42 回复(0)
敢问B、D选项有何差别?难道 B选项不是多了个空格吗???
发表于 2019-07-22 14:30:12 回复(3)
哈哈,卡我视野是吧
发表于 2023-01-10 09:51:42 回复(0)
老毕登
发表于 2024-07-20 11:50:03 回复(0)
想问一下这个  %d/n    是什么意思?  %d是以int输出,那么/n是干什么的
发表于 2020-02-09 14:05:07 回复(6)
if语句不带{}时,其作用域仅为离他最近的一行语句。
发表于 2023-09-23 22:45:09 回复(0)
智障题目
发表于 2022-05-17 00:19:39 回复(0)
因为if条件不成立,且if语句没有{}的情况下只执行与它最近的语句,所以t = x不执行,执行后面俩句,所以答案是B
发表于 2022-04-21 17:11:55 回复(0)
答案B if的作用域只到它后面的t=x;后面两个不再作用域中。 相当于: if (x==y){t=x;}x=y;y=t;
发表于 2022-02-12 19:19:57 回复(0)
X和Y的值明显不想等啊 为什么会执行if语句后面的内容呢
发表于 2021-06-28 23:34:19 回复(0)
首先if的条件不成立 所以答案在bd 其次输出的格式为%d整型 所以排除d d的0.0是浮点型 所以各位不要纠结B的空格了 根本不是空格的问题
发表于 2021-03-26 17:35:36 回复(0)
答案是D
B选项多了一个空格
破题
发表于 2020-03-14 14:28:37 回复(1)
emmmmmm
发表于 2020-02-05 12:19:45 回复(0)
应该是D吧,格式控制里没有空格啊
发表于 2019-11-26 07:24:23 回复(0)
BD的区别?
发表于 2019-09-06 00:23:34 回复(0)

这题if判断后面只有一个表达式语句,后面两句表达式语句在if之外

发表于 2019-06-22 17:20:55 回复(1)