| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 476 人关注过本帖
标题:[求助]今天在网上看见一段代码有一个地方不明白请指教
只看楼主 加入收藏
wolf430
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-8
收藏
 问题点数:0 回复次数:4 
[求助]今天在网上看见一段代码有一个地方不明白请指教
用来输出这个图形的:
*
**
***
****
****
***
**
*
代码如下:
#include "stdio.h"
int main(void)
{
int i,j,m = 0;
clrscr();
for(i = 1;i<=4;)
{
for(j = 1;j<=i;j++)
printf(j == i?"*\n":"*");
m == 0?( i != 4?i++:m++):(i--); /*这段代码不明白*/
if(i == 0)
break;
}
return 0;
}
搜索更多相关主题的帖子: 代码 指教 
2007-01-08 23:33
csight
Rank: 1
等 级:新手上路
威 望:1
帖 子:293
专家分:0
注 册:2006-6-11
收藏
得分:0 
m == 0?( i != 4?i++:m++):(i--);
当程序打印完4行后,还得接着再打印4行;
那么此时的i已经是4了,i != 4就不成立,于是m++,
那么下次循环时m == 0就不成立,于是i--,则还可以再打印4行,
直到i=0,break;此时正好又打印了4行,加起来就有8行;

头可断,发型不可乱;血可流,皮鞋不可不擦油;
2007-01-09 09:53
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
m == 0?( i != 4?i++:m++):(i--); /*这段代码不明白*/
可以看成这个形式
if(m==0)
{
if(i!=4)
i++;
else
m++;
}
else
i--;

谁有强殖装甲第二部,可以Q我460054868
2007-01-09 10:11
wolf430
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-8
收藏
得分:0 
明白了~~谢谢两位~

2007-01-09 10:26
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 

根据题意,我觉得这个也可以。简单理解。
#include <stdio.h>

void main()
{
int i,j;

for (i=0;i<4;i++)
{
for (j=0;j<=i;j++)
printf("*");
printf("\n");
}
for (i=0;i<4;i++)
{
for (j=4;j>i;j--)
printf("*");
printf("\n");
}

}


~~我的明天我知道~~
2007-01-09 14:09
快速回复:[求助]今天在网上看见一段代码有一个地方不明白请指教
数据加载中...
 
   



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

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