关于c语言的一个疑问,麻烦高手解答.

来源:百度知道 编辑:UC知道 时间:2024/06/19 23:31:43
void main()
{
int nstars=1,stars;
while(nstars <= 10)
{
stars=1;
while (stars <= nstars)
{
printf("*");
stars++;
}
printf("\n");
nstars++;
}
}
这个程序的输出结果为
*
**
***
****
*****
******
*******
********
*********
**********

是个嵌套while循环的例题
内层循环控制着打印” * “符号的个数
外围循环控制着打印的行数.

我想问的是,内层循环是怎样控制打印" * "的歌数的?
那行代码的功能是负责告诉printf()函数每次输入几个" * "?
搞不懂!

顺便那位推荐个c语言高人气论坛?
看起来我没把问题叙述清楚,我想问的是.
为什么当变量名=某数时,printf()函数会输出对应个数的" * "符号.
比如 变量名=100,那么printf()函数就会输出100个" * "符号.
但这是为什么呢?
是那个代码负责告诉printf()要输出100个" * "符号?

while (stars <= nstars)
{
printf("*");
stars++;
}
其中nstars为行,当stars小于等于行数时打印*,比如第四行时,nstars为4,starts为1时成立,打印一个*,为2时打印一个,为3时打印一个,为4时打印一个,为5时判断式不成立,跳出内循环,打印一个换行从而开始下一次循环。

另外c语言论坛的话自己搜搜吧,应该蛮多的

~~~~~~~~~~~~~~~~~~~
是循环啊,如果stars小于等于nstars的话那就打印一个啊

控制打印个数的代码就是额内循环while括号中的条件,因为每次外循环初starts都会置1,所以内循环次数为nstars次,又因为外循环中每次循环末nstars都会自加, 因此每次外循环期间,内循环次数都会随着nstars的自加而比上个外循环期间的内循环多一次