本文目錄一覽:
C語言題,求高手指點!?
答案A 錯誤糾正
int p;
scanf(“%d”,p);
——————————–
int *p,a;
p=a;
scanf(“%d”,p);
————————————–
以上兩種都可以。
分析:編譯器不會對「局部變量」 初始化,全局變量 會默認被初始化為0.
答案A 在使用指針變量P之前沒有對其初始化,不能使用。
2. 答案B 錯誤糾正
int *s,k;
s=k;
*s=100;
通A,都是指針在使用前沒有初始化。
3.答案C 正確
4. 答案D 錯誤
s=p;是錯誤的
因為s是 一個整型數指針,而p是字符型指針。指針類型不同的兩個變量不能賦值。
======================================================
希望我的回答對你有所幫助,很高興和你一起學習和討論C語言編程。
關於C語言的,高手指點!!!!!!
是不是代碼沒貼完整,我怎麼看不懂你的意思
brbrbrbrbrbr什麼輸入字符串,你一共不就兩個int型變量,一個輸入int的scanf嗎?
brbrbrbrbrbr什麼叫time一直加加,如果可以執行到time加,那前面那句scanf當然會執行到的.希望你再解釋的清楚一些.
brbrbrbrbr
brbrbrbrbr誰說字符串賦給整型值就要取0了….
brbrbrbr
brbrbrbr我剛才實驗了一下,
brbrbrbrint guess;
brbrbrbr scanf(“%d”,guess);
brbrbrbr printf(“%d”,guess);
brbrbrbr結果是:我輸入abc,輸出3129
brbrbrbr並不是你說的取0
brbrbr
brbrbr你用的什麼編譯器,我是用tc的.輸入任何字符串,得到的都是3129
brbr
brbr我想問題可能是這樣的.你第一次輸入一個範圍符合的數,11111,當然他會進入循環,讓你輸入guess的值,這個時候int型guess已經有了11111這個值了,如果你再給他一個abc字符串,程序就默認不接受,還是以11111進行處理,所以就進入了一個死循環.
br數據類型有的時候雖然可以相互轉換,但是最好還是謹慎使用,char和int的確可以通過ascii碼相互轉換.字符串和int怎麼能通用呢.沒見過scanf %d 輸入一個字符串的…
這大概就跟編譯器內部有關了,我曾經遇到過類似的問題,在變量一次賦值失敗後,循環將不再接受後面的賦值
有人說過這是緩存空間接收數據的問題,當前面你輸入一個int型數據,後面輸入一個字符串,這時編譯器知道這個數據類型是錯的,不接收,他就自動往前找緩存中的其他數據,當找到一個int型時,它就自動賦給了變量,所以後來都不用你手動賦值的了.
你可以用單步調試一下,到scanf那裡的時候程序是黑了一下跳了過去的.
我想學習C語言。求高手指點應該怎麼做?
首先申明,本人不是什麼高手,但自認為對c還比較熟悉,可以給你提點建議:
1、學習C語言,要從入門到精通,需要讀哪些書(從簡單的到難的排序,越詳細越好,最好都能注釋下選擇這本書的理由)?
入門階段:還是老譚那本。
理由:雖然不能說它寫得有多好,但是你現在要做的是入門,要快速的掌握c的基本語法,這本書很好理解,能夠讓你在最短的時間內大致掌握這門語言的概更。
第二階段:《c程序設計語言》(The
C
Programming
Language)和《C語言解惑》(The
C
puzzle
book)
理由:《the
c
programming
language》號稱c語言聖經。其實它也只是一本介紹基礎語法的書,不做入門教程是因為對於初學者來說,它難度稍大,之所以推薦,是因為它能讓你—系統而嚴密的—把C語言知識構架整理一遍。《c語言解惑》,系統的整理了c語法中容易讓你產生迷惑或容易犯錯的地方(如a+++++b等),這時候你才算真正開始學習c語言了.(以上兩本現在出重印了,應該在書店可以買到)
第三階段:《C陷阱與缺陷》(C
Traps
and
Pitfalls)和《高質量c/c++編程指南》
理由:《c陷阱與缺陷》是讓對c的理解有質變得一本書,如如何理解(*(void(*)())0)()等問題,我的感覺是看完這本書讓我真正從小菜鳥變成了老菜鳥。《高質量…》,終於有一本國產的了,呵呵,我認為這本書是把你從土匪變成正規軍的最好指南,該書涉及編程風格、效率、重載、健壯性等一些列之前很難注意的問題。(以上兩本《c陷阱…》已絕版,不過網上可以下載到中英文版,《高質量…》本身就是網絡書,很容易找到)
其它推薦書:《c專家編程》《c和指針》
說實話這兩本書我並沒有看過(或看完),但有口皆碑,都是經典之作,不過都已經絕版,仔細找找網上有下載的。
2、有哪些好的C語言練習(越難的越好)?
對語言本身的練習其實就是你對它的理解,用得多了,注意得多了,自然就ok了。其它思維上的練習主要是算法和數據結構方面的,嚴老的《數據結構題集(C語言版)》如果你能做完就相當了不起了。
3、要學精C語言,還要具備哪些條件?
其實c語言也只是一個工具而已,就像鋤頭一樣,你每天挖地鋤田自然就精通它了。只要不是白痴,應該都沒有問題。
4、C語言學完後接下去要學哪些語言好?
這個我就沒有資格回答了,因為除了少量彙編和c++,我大部分只用到了c,不過也許是一脈相承的c++吧。c是面向過程的語言,學習c++面向對象的思想。
5、各位網友如果在學習計算機語言方面還有一些獨到的見解,歡迎提出!
不是我提出的,不過真的很經典——「天下程序一大抄」,呵呵。
求高手指點C語言問題
//下面是正確的程序,輸入四個數時請用英文逗號隔開。如:4,2,1,3
#includestdio.h
void main()
{
void max(int *x,int *y);
int a,b,c,d;
printf(“請輸入四個整數:\n”);
scanf(“%d,%d,%d,%d”,a,b,c,d);
max(a,b);
max(a,c);
max(a,d);
max(b,c);
max(b,d);
max(c,d);
printf(“從大到小的順序是:%d %d %d %d\n”,a,b,c,d);
}
void max(int *x,int *y)
{
int t;
if(*x*y)
{
t=*x;
*x=*y;
*y=t;
}
}
原創文章,作者:TOKE,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/140263.html