| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1157 人关注过本帖
标题:想不通这个while语句
只看楼主 加入收藏
书山压力不大
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:31
专家分:14
注 册:2021-4-18
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:1 
想不通这个while语句
#include <stdio.h>
//#include <windows.h>
    void main(){
    int i,j,k;
    for (i=1;i<=9;i++) {                   /* 输出1-9行 */
    k=1;
    while (k<=(i-1)*8)                 /* 输出第i行的空格 */
    { printf(" ");k++;}
    for (j=i;j<=9;j++)                 /* 输出乘法等式 */
    printf("%d*%d=%2d  ",i,j,i*j);
    printf("\n");                       /* 换行 */
    }
    //system("pause");
}  
这里
while (k<=(i-1)*8)                 /* 输出第i行的空格 */
    { printf(" ");k++;}

我记得那个 while语句是非零成立就执行直到不成立或者遇到goto和break
,可是这里当i=2,怎么也是输出八个空格,
但是书上的右对齐九九乘法表上面第二排只有一个空格呀呀呀
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: while 语句 空格 输出 printf 
2021-04-29 11:08
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1509
专家分:9241
注 册:2010-3-16
收藏
得分:10 
1*1=1
这几个字下面的空格不是空格了吗,printf("%d*%d=%2d  ",i,j,i*j);这一句里面的空格也不算了吗。

while (k<=(i-1)*8)
k每次进入while的时候先k=1了,后面再k++,i=2的时候,(i-1)*8=8,输出8个空格。
2021-04-29 19:02
快速回复:想不通这个while语句
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048927 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved