| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 839 人关注过本帖
标题:绝对菜鸟问题!请高人指点!
只看楼主 加入收藏
Winter2002
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-8-5
收藏
 问题点数:0 回复次数:7 
绝对菜鸟问题!请高人指点!

#include<stdio.h>

main()

{int i, j , k=19;

while(i=k-1)

{k-=3;

if(k%5==0) {i++;continue;}

else if(k<5) break;

i++;}

printf("i=%d,k=%d\n",i,k);

}

我看不出结果,请解答!

搜索更多相关主题的帖子: 高人 
2004-08-06 17:37
忆楠
Rank: 1
等 级:新手上路
帖 子:721
专家分:0
注 册:2004-7-5
收藏
得分:0 

while(i=k-1) 这样赋值正确么?


点 鼠 标 , 救 饥 民 http://www./
2004-08-06 18:33
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 
以下是引用忆楠在2004-08-06 18:33:51的发言:

while(i=k-1) 这样赋值正确么?

应该是没错的

我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-08-06 22:39
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 

这K只有在k-=3,自减3,可以推断出当K=19-3*5=4的时候,循环结束,那它的上一次个循环后K=19-4*3=7,

循环开始i被赋值为K-1即6,最后一个循环时i没变过,所以结果是i=6,k=4


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-08-06 22:45
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
以下是引用乌鸦丘比特在2004-08-06 22:39:21的发言: 应该是没错的
不对吧?while(这里方的应该是判断条件)也就是逻辑运算那么就应该写成while(i==k-1).
2004-08-06 22:50
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 
以下是引用yms123在2004-08-06 22:50:35的发言: 不对吧?while(这里方的应该是判断条件)也就是逻辑运算那么就应该写成while(i==k-1).
这里这样写是合法的,——把K-1给i然后判断i是否为0

我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-08-06 22:54
wonderfulday
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-7-28
收藏
得分:0 

while(i=k-1) ~~~这应该是判断i是否为真

楼主没有给 i 赋初值呀,大概这是错的原因吧


2004-08-07 01:39
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
以下是引用Winter2002在2004-08-06 17:37:56的发言:

{int i, j , k=19; while(i=k-1) {k-=3; if(k%5==0) {i++;continue;} else if(k<5) break; i++;} printf("i=%d,k=%d\n",i,k); }

i 的初值是k-1,而k 的初值是19,代码是从18开始,每次循环k-3,而i 是k-1就是判断每次-4

代码中的两个i++写错了,应该是j++,应该就是这样。

2004-08-07 01:47
快速回复:绝对菜鸟问题!请高人指点!
数据加载中...
 
   



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

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