歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 解決Ubuntu下不能識別&的問題

解決Ubuntu下不能識別&的問題

日期:2017/2/28 17:29:52   编辑:Linux教程
當時的想法是,連取址操作符&都不能用了,linux下C 還能用多少。遂自我墮落。

  今天還心有余悸。提不起精神來復習C。但是我提醒自己一定要解決。所以我硬著頭皮做,還是那個問題。有點挫敗。然後我覺得我應該解決。搜索中沒有搜到。我後來明白為什麼搜不到了。因為沒有這種問題,找問題找錯了。然後我去論壇求助,csdn求助,一向吝啬的我懸賞了幾乎我所有的分,我是真的豁出去想解決問題了。然後我有些焦急的等著。

  然後我想,先做些事情吧.於是我先把這個程序存了,並再寫了一個說明文件記錄了問題。這對我來說是一種質的飛躍。因為我沒有被困難攔住就啥也不做郁悶了。想想以前,我肯定就郁悶自暴自棄不學了。我會記住這個經驗:遇到困難先搜索,搜索不行再網上求助。網上求助也是督促你關心問題,關心的你的聲譽的一個好方法。實在需要等待很長時間,就先把問題收拾好,放好。然後一定會在將來某個時刻能得到解決。或者是你自己遇到相同的類型卻成功,然後你就會回來看這個問題,你自己就解決了。或者是熱心的人的准確的幫助。

  我解決這個是前者。放好問題後,我繼續開始學習。繼續敲代碼練習Ubuntu下的C編程。後來我又遇到一個需要&的(scanf)。說實話,那時我心裡有點怕,怕取址操作符&又壞了我一個程序。然後不知怎麼的,我還是把它編譯,竟然沒報錯,後來竟然運行成功了!

  於是我開始反思。看來取址操作符&是能識別的。那我的那個程序肯定不是錯在取址操作符&上。我又開始回頭去看那個程序:

#include "stdio.h"
main(){
int x=0;y=0;
scanf("%d",&x);
if(x<0) y=x-1;
else{
if(x>0) y=x+1;
else y=0;
}
printf("x=%d\n y=%d\n",x,y);
}

  我發現 int x=0;y=0;中間由於粗心弄成了“;”而應該是“,”

  本來是個語法錯誤,但編譯器就會說Y沒有聲明過,因為從編譯器的角度的確沒見到y聲明了,他一看就見是y賦值,沒聲明就賦值。在我的想法裡我是賦了值的啊。這樣我就會迷惑郁悶了。其實的確是我自己出錯了。

  編譯器是嚴格的,不是上崗上線,你的確是錯在那兒了。以後不要怕攔路虎了。把它收起來,一小會後你就能解決它。
Copyright © Linux教程網 All Rights Reserved