作者game0416 (凤狼)
看板NTUE-CS102
标题Re: [闲聊] 函式...
时间Wed Dec 9 23:13:28 2009
※ 引述《j2612280 (翔风~安)》之铭言:
: 看了一下错的程式码:
: while(f()!=3){
: f();
: }
: 还满多人用这种方式的...
: 错在哪咧??
: f()写了两次
: 所以第一次的错会让while成立而继续往下执行
: 跑到第二个f()时 因为没有做任何动作 仅仅是f();在那
: 所以就被忽略啦~
: 这时第一次就跑完了
: 再来回到while跑第二次while(f()!=3)
: 这时输入结果为3A的话 回传值就会是3了~就会变成while(0)
我倒是觉得看函式内容怎麽写...
会有这种问题主要还是cin、cout都摆在函式内去了
不然多的那次就跟空白的是一样的QQ
是说我觉得一步一步说明这段code发生什麽事比较好
也就是说:
进入while← ← ← ← ← ← ← ← ← ┐
↓ ↑
处理判断式 → (1) 3跟f()比较,此时处理f()一次内的所有命令
↓ (2) ↑
进入while叙述
↓ ↑
执行叙述中的f(),变成在这单次的while回圈内容中执行第二次f()
↓ ↑
回到开头 → → → → → → → → ┘
: so~懂了吧~^.^
: 还有另一个是函式的使用
: 如果是 int f(){}
: 那f()就代表是一个整数值 会回传一个整数值
: 所以正确的写是
: int f(){
: return 0;
: }
return数值时,该函式就结束了...一般习惯用0表示结束
可以依照使用需求由使用者自行设定这样
严谨来说,main里头也在最後return 0会比较洽当;
相反,就算宣告成int也能不加return,反正也是一行一行到底
使用者感觉上就跟void无异...当然对电脑有些差别在
不过老师没特别提这个的样子,还是我又发呆了(死)
: 再来是不回传值 void f(){}
: 顾名思义就是没有return了...就是这样(解释好烂=0=...
: ps...不要嘘我呀...另外再宣传一下我的论坛XD~ http://307.now.to/
我要黑特一下,这个申请帐号不会太复杂了吗 - -+
--
红白本命
○楽园の巫女
博丽 霊梦 职业:博丽神社の巫女さん
Hakurei Reimu 能力:主に空を飞ぶ程度の能力
@东方project系列
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.43.39.145
1F:推 Arashinoon:真的颇难办 机车版主 XX!! 12/09 23:43
2F:→ j2612280:嘛...就想管控一下有谁是会员呀@@"... 12/09 23:45