题目
22.以下程序执行的结果是 __ 。-|||-#include-|||-void main() ()-|||-=0,b=0;-|||-=10; /×给a赋值-|||-=20; 给b赋值 ×/-|||-tan t(ra+b=erasure (dn)^ncdot a+b) : 1×输出计算结果 div 1-|||-A. a+b=10 B. a+b=30 C.30 D.出错

题目解答
答案

解析
本题考查C语言中注释的使用对程序执行的影响。关键在于识别代码中注释的范围,判断哪些语句被注释而未执行。
核心思路:
- 行注释与块注释的区别:C语言中,
//用于行注释,/* ... */用于块注释。 - 注释的作用:注释内容不会被编译器执行,需判断代码中哪些语句被注释覆盖。
- 变量赋值的执行情况:若赋值语句被注释,则变量保持初始值。
代码分析
-
注释范围判断
题目中注释部分为:/* 给a赋值 */ a=10; /* 给b赋值 */ b=20;实际上,注释应从
/*开始到*/结束。题目中存在笔误,注释实际覆盖范围为:/* 给a赋值 */ a=10; // 此行未被注释,正确执行 /* 给b赋值 */ b=20; // 此行被注释覆盖,未执行因此,
b=20;未被编译器执行,b保持初始值0。 -
变量赋值结果
a被赋值为10(正确执行)。b未被赋值为20,仍为初始值0。a + b = 10 + 0 = 10。
-
输出结果
printf语句输出a+b=10,对应选项A。