其实因为这个程序中第二个输出数字的后面并没有空格,所以,如果printf后面是英文逗号的话,它会输出:10,109,1,现在最“接近”的是答案D。
程序输出结果选D。分析如下:
开始x=10,y=10,第一次循环显示10,10,然后x=--x=9,y=++i=1。
第二次循环显示9,1,然后x=--x=8,y=++i=2。
因为不满足x>8,所以退出循环。
这个题目考点有:1. for循环的执行,初始化语句只执行一次,每次进入循环体之前进行判断,执行完循环体后,执行for的第三个参数语句。2.前后++,--的执行,当++,--前置时,好理解加减完了往下执行;当++,--后置时,先把值给出来计算,然后++,--变量本身的值。
要针对输入内容匹配不同的数据类型的组合,就不能直接scanf获取到变量,一般的办法是gets获得一行,然后扫描这一行文本,根据所有的字符和顺序,分别对各变量进行赋值。
从这里边看的话第一次肯定首先输出的10,1因为++i是先+在执行该语句+在后边就是相反的