问题
单项选择题
有以下程序: int a=3; main() { int s=0;{int a=5; s+=a++ ;}s+=a++; printf("% d\n", s);} 程序运行后的输出结果是______。
A.8
B.10
C.7
D.11
答案
参考答案:A
解析: 本题有两个同名变量a,其中一个在main函数之前定义,为全局变量,另一个在main函数中的复合语句中定义,为局部变量。在复合语句中局部变量a起作用,即a=5,因此语句s+=a++计算出的s值为:s=s+a++=0+5++=0+5=5;执行完复合语句后全局变量a起作用,即a=3,因此语句s+=a++计算出的s值为:s=s+a++=5+3++=5+3=8。故printf语句的输出为8。