1樓:東寧陶香
樓上對右結合的概念理解錯誤了,所謂右結合就有對應的左結合。例如,a=b
=c,=是個運算子,對於第一個=,它的兩個運算元是a和(b=c),那麼它是先和哪個結合呢,c語言標準定義了它是右結合的,所以它先與右邊的b=c結合,而b=c本身也是個表示式,所以要先計算b=c,然後b=c的結果再參與原來的計算。
問幾道c語言的問題
2樓:兔弟蛇哥
1 b。
多維陣列按順序賦值時如有剩餘以零補足,多維陣列的行號可以代表改行第一個元素的地址,即
scanf("%d",x[i]); 相當於
scanf("%d",&x[i][0]);
輸入2 4 6後x[0][0],x[1][0],x[2][0]的值分別是2,4,6,其餘均為0。
2 b。
ps=s;即將指標ps指向字元陣列s的首元素,*ps是a,+4後即e。
3 a。
a 這種用法是不允許的;
b 多維陣列可以不指定第一維的個數;
c ss是一個指向字元型的指標陣列,ss[1]="right?"; 將其第二個元素指向字串"right"的首字元r。
d 同樣是指向字元型的指標陣列,第一維數可以不定。
4 da 注意:當x是指標時x[i]相當於*(x+i),x[4]也就是e,資料型別是char,而strcpy函式的第二形參是字元陣列中指向字元型的指標,即*char。
b y可以代表字元陣列y第一個元素的指標,但不能像通常的指標一樣進行++操作。
c 賦值運算也有結果,經賦值運算後,賦值表示式具有賦值後賦值運算子左邊變數同樣的型別和值,s=y+5的結果即y指向中的第6個元素,但此時y已經放不下x指向的字串常量,故不能算「正確運用」。
d 正確。
這些亂七八糟的東西大概真的只有在考試時才會出現……
5 b。
注意:巨集定義只是在編譯之前做簡單的字元替換工作,為保證帶引數的巨集定義替換後的完整性,一般要加括號,例如本題中應寫為
#define f(x) ((x)*m)
不加的話有三種可能:
1 有把握不會影響程式功能
2 忘了
3 正在出考試題目
這裡替換後的結果為:
i1=f(2)=2*5+1=11 (注意:不是2*6!為處理巢狀的巨集定義,編譯系統採用多次掃描替換的處理方法,但若新產生的字元序列又出現已被替換過的巨集名則不再替換)
同樣地,i2=f(1+1)=1+1*5+1=7。
***結束***
問兩個c語言的問題 謝謝了
c語言 問題幾個
3樓:匿名使用者
1 不知道 你選的那個你說出來我給你說怎麼錯了2 不知道那個是0 還是o不過沒關係 八進位制裡面怎麼會有9 所以什麼都不是3 100! 1乘到100那些資料型別裝不下,所以返回不了4 a,b,\034,\\,\x79 剛好5個數 \表示轉義字元啦5 char 1 int 2 float 4 double 8 這個你記住就好
以上回答你滿意麼?
4樓:匿名使用者
第一個,op1 輸入42,char型op1為*,float op2 不能定義出……
第二個,3+4*3+4 = 19
第三個,*s1 == '\0'
第四個,1
5樓:匿名使用者
1>題目有誤, 對應輸入 整型 字元 浮點,整型和字元通用 找到對應ascii碼即可,多少忘了。
類似輸入123a123.00a op123值為 123 a 123.00
2> 3+4*3+4 = 19 解析: f0 呼叫f1 var = 3+4 var*var = 3+4*3+4 = 19
3> *s1 == '\0'
4> 0 解析:!(5<10) = !1 = 0
6樓:
1、說明不足
2、19
3、s1 ="";4、1
關於c語言的幾個問題?
7樓:
char str[10]=,佔用記憶體10個位元組,前6個位元組的值是"abcde\0",字串不一定佔用全部字元陣列的記憶體,因此最後會加'\0'(0值)表示字串的實際結尾。該字串實際佔據陣列的前6個單元;
char str={「abcde」},會自動根據字串長度確定佔用記憶體的大小,為6個位元組。
用strlen()函式去檢視,結果都是5。
整數相除,餘數捨去,只有整數部分。
同型別運算,從左至右順次進行。
x/y=3/2=1,x/y/z=1/1=1,取整之後,還是1,化成浮點數之後是1.000000.
如果想得到小數結果,有兩種做法:
(1)在運算之前,先強制型別轉換:(float x)/(float y)/(float z);
(2)運算的第一個數是浮點數:1.0*x/y/z;
運算時會自動選定第一個數的格式,進行計算。
c語言遞迴問題 第三個數等於前兩個數之和 codeblock執行正常,vc6.0錯誤
8樓:理工大小薛
extern void shu(int s1,int s2,int m,int n);
先在開頭宣告下函式應該就沒問題了
親測無錯誤
9樓:匿名使用者
看你的**比較費力啊,是不是就是斐波那契數列?
求問c語言兩個題,求教C語言程式設計題兩道。
1 要相信執行結果 巨集是替換 程式是這樣執行的 fb fb k,k 1 k 7 fb k k 1 1 k 7 第一次巨集替換 k k 1 1 k 1 7 第二次巨集替換 3 3 1 1 3 1 7 11 3 1 7 27 注意替換時一定不要忘記 所有巨集替換是在編譯之前的預處理模組完成的 此時還沒...
問關於C語言程式設計的思路,很小的兩個問題
這類題一般都可以讓計算機遍歷所有情況,找出符合條件的情況比如第一題 你可以先 把輸入x 計算5x 1 判斷5x 1是否大於500 如果大於500,則輸出結果 如果小於500,則x 5x 1 迴圈到第二步這個功能的 寫出來,把輸出的結果儲存到y下一步就用for迴圈把x從1迴圈到120 因為很明顯x大於...
問一道C語言的題
100 的尾數有多少個零?問題分析與演算法設計 可以設想 先求出100 的值,然後數一下末尾有多少個零。事實上,與上題一樣,由於計算機所能表示的整數範圍有限,這是不可能的。為了解決這個問題,必須首先從數學上分析在100 結果值的末尾產生零的條件。不難看出 一個整數若含有一個因子5,則必然會在求100...