標籤:

for(int i = 0; ; i++); printf("i love you"); 請問這條代碼是什麼意思,可以運行出什麼結果?

RT,本人不是計算機系,偶然看到這條代碼,就想知道一下運行的結果


一個分號的誤會,

令它無任何輸出,

只有永遠的漆黑。

雖字裡行間有愛,

但你永遠看不見。

祝明天節日快樂。


這段代碼的意思是: 等永遠過完,我會愛你


The love is unreachable. You have to remove it.


我給個稍微不太悲傷的翻譯吧。

「無限之後,我會愛你;無限之前,請你等待。」

說白了,就是:

---「直到海枯石爛,請做我的備胎。」


你們啊,na?ve。

for 的括弧後面,循環體之前多個了分號這種事情,從來不影響我愛她。

我寫 shell script 的。


愛你在心口難開


這個代碼是永遠沒有輸出結果的,代碼的意思是:

{定義 i 為整數且等於1, 無判定條件, 無執行命令, i 增加1} -&>{判定判定條件,如果不符合跳出,否則重複一遍上一個步驟} -&> {輸出:"i love you"}

因為沒有判定條件,所以不可能不符合,所以永遠停留在第一個步驟 ,因為第一個步驟沒有執行命令,所以只會有i不斷的增加,沒有任何輸出。

相信題主同時也看到了這個代碼

for(int i = 0;;i++)printf("i love you");

也就是for語句後面沒有分號,那個分號是決定for,也就是我們的前兩個步驟,這個語句包含到哪裡的,這條代碼中printf("i love you")是包含在for 語句中作為他的執行命令的。於是我們整個就不一樣了。

{定義 i 為整數且等於1, 無判定條件, 執行命令:{輸出:"i love you"}, i 增加1} -&>{判定判定條件,如果不符合跳出,否則重複一遍上一個步驟}

同樣,因為沒有判定條件,所以永遠不會跳出第一個步驟,所以我們會看見滿屏的i love you,i同樣會不停地增加,但是同樣不會影響輸出。

--------------------------------------分割線,吐槽區開始了-------------------------------------------------

不過這個代碼寫的個人覺得很不好,並不是一個很有碼農素質或者是一個有很深英文背景的人寫的。

如果有碼農素質至少會在「i love you」後面輸出一個空格,這樣輸出(不是樓主說的那個代碼是我寫的第二個代碼,沒有分號的那個)的會像 @cauchy玉說的輸出一樣

i love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love you。。。

you和i是連在一起的,簡直讓人想把自己臉撕下來。。。

沒有很強的英語基礎是因為,你如果在美國呆一段時間,而且經常和美國人聯繫的話,至少你在用電腦打字的時候會打成 I love you,不會用i。。。我在前面打的時候好幾次都打錯了= =。。。打的我想把臉撕下來。。。同時,樓上匿名的同學答得耶很好。

還有這個代碼都看不懂,基本告別理科了。。。不用說自己不是計算機系= =。。。


i love you more than i can say


死了……都要愛


編譯器標準決定我是否說愛你


未曾說出口的愛情。


永遠過後,我會愛你…


雖然我想說愛你,但永遠說不出口


哽在咽喉的那句表白,如果說出來...

那記得把你編譯器版本告訴我!


意思就是趕緊break up,錯誤的方法等多久也不會有結果的。


上窮碧落下黃泉,心悅君兮君不知。


while ("Im alive") {

printf("I love you");

}

他本來想寫的是這個意思。


看你用什麼編譯器,如果只支持C89就會直接報錯然後無法運行。

比如:

Ideone.com - Online Compiler and IDE &>&> C/C++, Java, PHP, Python, Perl and 40+ other compilers and interpreters


拖著你的線程(時間)浪費你的資源(金錢),就是不愛你,備胎的節奏,節日快樂


被碼農女神拒了吧,哈哈。。。


這難道不能是一位初學編程的人寫的嗎?

難道不是想表達「我會無條件愛你,管他有沒有結果!」


我愛你愛到了時間的盡頭,但是我卻未曾說過我愛你。


這條代碼說的是:

永恆與愛你

中間有條跨不過去的鴻溝


修正:

/* 1.c */
#include "stdio.h"

int main (int argc, char *argv[])
{
for (int i = 0; ; i++)
;
printf ("i love you");
return 0
}
//cc 1.c -std=c99
//剛才沒注意那個;, 我覺得那貨如果真這麼寫絕對註定孤獨一輩子!
//沒有";"i love you死循環.
//感謝提醒! 我不嚴謹了!


從第一次見到你,

沒有任何條件的愛上了你。

為了你,

我願竭我所能,

哪怕天誅地滅。

然而,

你無心的分號。

左邊是永遠的愛,

右邊的你又怎能知曉?

奈何橋

三千年,生生世世的愛。

相顧卻不識。


昨天也看到這個代碼了,是喜歡的男生最喜歡的代碼。正是搞不懂。。



為啥我覺得分號就是分別的意思呢

自此一別,竟是永恆

我的一個小錯誤讓我永遠不能說愛你。

這樣?


據說這是一個凄美的愛情故事。

一個男孩給女孩寫了一行代碼:

&> for(;;) printf("I Love You!
");

女孩的回復是:

&> for(;;); printf("I Love You Too!
");

第一行好理解。

第二行相當於

&> for(;;) {}; printf("I Love You Too!
");

printf永遠也不會執行。寫久了python再看c++,才發現強制縮進真TM好。

男孩的情不知所起,而一往情深,卻得不到回應。不知道女孩是有意為之,還是無意的bug,反正就是永遠也不會有答案,也許這就是人生!只能說是凄凄慘慘戚戚!


i love you, but you will never know that. PS. i will hidden the love forever


無法說出的愛,緣於一個無意間的失誤。

------------------------------------程序員,容易嘛。


等到天荒地老,我都不會喜歡你,死心吧!


世上沒有無條件的愛


我沒有去給你運行一下,這是個片段,程序不報錯的話,它會一直循環下去,一直不會輸出「i love you」的。。。除非給「i」加一個限制條件(既在兩個分號中間加上一個"i希望我的答案能幫助到你。祝你幸福!


喂,樓上的各位,這問題下面是成了歌詞大賽么……

唔…那我也來摻一爪好了~~

大家跟我一起,預備~~

唱!

死了~~~都不愛,不淋漓盡致不痛快~~(比)永遠更久,都不愛~~~」

匿了~喵~( ^ o ^ /)


等吧。


看不懂你心思需求,說不出我愛你永久


好高深


這是一個悲傷的故事。。。


其實在大部分編譯器裡面直接上這兩行代碼估計編譯都不通過吧23333(VS也許可以直接把這兩句運行起來)


原來是死循環,而且永遠不會輸出結果


就是永遠都會愛你


愛你 永遠也說不出口~


永遠之後,始見我愛


永遠說不出我愛你


你以為愛就在眼前,卻是鏡花水月


想說愛你不容易


死循環,無法繼續

一句話,鬼愛你


等到一千年以後~


話說IDE應該會warning吧. 以後誰再說用vim編程就可以拿這個反駁了.


難道不是這個意思。 「如果不是那個分號(分號什麼意思得自己琢磨)的話,我會一直輸出 」 "i love you" 恩,對,輸出就是輸出的意思


永遠不會說愛你


明知沒有結果,我依然愛你


只要一個girl

並無其他

他的生活

一直都在continue

forever

內心渴望著

不敢說

誰能給我一個break

讓我

重新擁有生命的主脈搏

分號

是他無聲的吶喊

然而

他並不知道

外面的外面

是一個更大的

forever

......


你永遠也不會知道,我也同樣愛你!!!!


錯誤的時間 我沒有說出對你的愛


正解:我寧願為你耗盡內存 心中千萬遍永遠 可「我愛你」卻是我怎麼也不敢輸出的位元組。╮(╯▽╰)╭

網上的,侵刪


暗戀


為了能夠一直地說I love you,我們這樣來:

但是理想總是美好的,現實總是殘酷的。即使跨過代表永遠的分號,也無法敘說永遠的愛情。

然而,當我們放棄了永遠的追求,只是每次說完love後再說一次,那麼,從第一次表白開始,就註定將會得到永久的敘說,直到天荒地老。。。


那句我愛你,永遠說不出口.


我用手機上的兩個App測試一下,結論在最後!

JavaScript

代碼如下:

結果如下:(注意左上角的運行按鈕,一直處于禁止狀態,表示正在運行)

python:(注意右邊的loading)

結論我在測試的過程中已經出現了,有三種結果

第一種,假設你的設備電量充足,永不宕機,那麼你的女神永遠不知道你要表達什麼。

但是!但是!第一種情況的假設比較困難!

第二種,你放棄了,你點了Break按鈕,或者強制關機,或者資源不足的情況下,程序也就結束了,女神雖然仍然不知道你要表達什麼,但是最終你放下了,也解脫了,也許開始選擇愛她就是個錯誤,而你中止了這個錯誤

第三種也許是最完美的結局吧,也是我希望看到的

沒錯,我把代碼寫錯了,但不是故意的。


i love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love youi love you……


曾經,有一份真誠的愛情放在我面前, 我沒有珍惜,

等到我失去的時候才後悔莫及,

人世間最痛苦的事莫過於此……

如果上天能夠給我一個再來一次的機會,

我會對那個女孩子說三個字:

「我愛你。」

如果非要在這份愛上加上一個期限,

我希望是……一萬年!


我永遠不會愛你。好吧,婉轉點兒的話:當時間停止時,我愛你。【跑啊!跑!不比光速慢也不比光速快!我物理不好…


如果中間有分號,這個程序什麼都做不了。沒有的話,會在輸出大量i love you之後崩潰。程序猿看了很難受


明明就是死循環,樓上怎麼都說是愛啊情啊的……難道是因為今天是1111


要是for()後面沒有;就是永遠愛你?。可惜有啊,for()後面;就相當於空語句啊,永遠不可能說i love you,這真是個悲傷的故事


這一個分號,就像我們之間看似微小,但永遠無法逾越的距離。


這段代碼可以表達兩種意思,取決於printf理解成「說這句話」還是「認同這個事實」


for循環會死循環,沒有輸出,有圖

4核心的電腦,test進程cpu利用率是25%


推薦閱讀:

如何寫出軍工級的代碼?
為什麼Google上十億行代碼都放在同一個倉庫里?
代碼是否存在「美感」?
不要浪費時間寫完美的代碼
劫持數字簽名與Powershell自動化過程

TAG:編程 | 代碼 |