int a,b,c; for(a=1;a<=7;a++) { for(b=6;b>6-a;b--) printf("$"); printf("\n&q
解决时间 2021-03-01 08:35
- 提问者网友:树红树绿
- 2021-03-01 04:22
$
$$
$$$
$$$$
$$$$$
$$$$$$$ 会什么会是6-a 呢,6-a 不应该是第一排输出6个吗?
#include
int main (void)
{
int a,b,c;
for(a=1;a<=7;a++)
{
for(b=6;b>6-a;b--)
printf("$");
printf("\n");
}
}
最佳答案
- 五星知识达人网友:七十二街
- 2021-03-01 06:00
如果是
for(b=0; b < a; b ++)这样是你说的情况
而实际上你的程序是
for(b=6;b>6-a;b--)从6开始递减循环,执行条件就需要是b>6-a了
全部回答
- 1楼网友:独钓一江月
- 2021-03-01 07:30
这个是前/后自增,关键是理解他的执行方式:
参考我之前回答过的一个贴:
http://zhidao.baidu.com/question/1511411341808323180
//看完之后再结合你这个题看一次
main()
{char a='a',b;//a的值为 'a' 也就是 数值:97
printf("%c,",++a);//表达式返回的是后自增的结果 先 +1 后返回,结果是 98 即是'b'
printf("%c\n",b=a++);//a++ 返回的表达是自增前的结果 即 98(刚刚在第3行后自增了一次),返回结果后,再自增1,也就是说 99 : 'c';此时的a ,b值分别为: 'b'(98) 'c'(99)
printf("a:%c b:%c\n",a,b);输出:a:c b:b
}
我要举报
大家都在看
推荐资讯