ie7绿色版:C语言问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 10:30:15
main()
{int m,n;
for(m=4;m>=1;m--)
{for(n=1;n<=m;n++)
putchar('#');
for(n=1;n<=4-m;n++)
putchar('*')
putchar('\n');
}
大家帮我算下结果,再说下为什么

这个程序是错的哦
for(n=1;n<=4-m;n++) 错误,因为第一次调用m的时候其值为4此时n=1;n<=4-m,n++显然错误,因为4-m=0,n的初始值为1,且其是自增的,而n<=0显然错了

老兄少个大括号吧?按题意应该是这个结果:
####
###*
##**
#***
自己慢慢导一下就出来了!
楼下的没错吧?就看他的大括号怎么括了,for(n=1;n<=4-m;n++) 这个开始是假值所以执行putchar('\n'); 其中n是在自增,但m的值是在递减的!再次进循环时n的初值还应是1吧?