问题
单项选择题
有以下程序:
main()
int a, b, d=25;
a=d/10%9; b=a&&-1;
printf("%d,%d\n", a, b);
程序运行后的输出结果是( )。
A.6,1
B.2,1
C.6,0
D.2,0
答案
参考答案:B
解析: 本题主要考查的是C语言中的整除、求余以及逻辑值的概念。在C语言中,/号的两边如果都是整数的话,返回的结果也是整数,如果除不净则舍去小数部分。%是求余运算,它的运算对象只能是整型,运算结果是两数相除后所得的余数,当运算量为负数时,结果的符号与被除数相同。因此,执行语句“a=d/10%9;”后,a=25/10%9=2%9=2。C语言中没有专门的逻辑值,而是用整型值来代替。当整型值作逻辑值使用时,非零即表示“真”,零表示“假”,而逻辑值当整型值使用时,“真”等于1,“假”等于0。因此,执行语句“b=a&&(-1);”后输出结果为2,1。