1樓:匿名使用者
f函式中的a每次使用外面傳入的2,b是區域性變數,++後每次都是1,c是靜態變數,函式每次執行會在上次值+1
所以最後執行三次,輸出為789
2樓:聽不清啊
程式的輸出是:789
c語言問題,求解答
3樓:匿名使用者
執行abc(a+1),首先進行巨集代換過程,是把 a+1去替代 定義的巨集函式 x*x 中的x,
即得到式子: a+1 * a+1
然後代入a的數值為3,所以結果為:3+1*3+1 = 3+3+1 = 7
所以選:d
4樓:聽不清啊
程式執行的結果是:
3+1*3+1=7
b=7選答案d
5樓:
巨集定義沒有引數保護,#define(x) x*x , abc(a+1)=a+1*a+1
c語言問題,求大神解答
6樓:
大致看了一下,覺得總體思路可行,但具體操作就有問題了。一是feof這個函式的引用就有問題:這個函式不讀檔案只檢查剛剛發生的讀操作是否賣到或越過了檔案結束符;**中第一次進入while時還沒有發生讀動作,無法確定的判斷會把錯誤依次轉嫁到檔案最後。
二是用fgets這個函式讀檔案是由n或'\n'控制結束的,中間的空格也會被正確讀取,而單詞是作空格或'\n'隔開的,所以就不會一個單詞一個單詞地正確讀出來。我試著寫一個供你參考——
#include "stdio.h"
#include
int main(int argc,char *argv)while(fscanf(fp1,"%s",w1)==1)else if(e12==0)
else if(e13==0)
else if(feof(fp3))
}else if(feof(fp2))
}fclose(fp1);
fclose(fp2);
fclose(fp3);
printf("in the 3 dictionaries there is no the same words.\n");
return 0;
}已經充分驗證過。查詢速度可能還有提高餘地。不認為演算法很好,有問題續問。
7樓:yzx浪子
//node* head表示頭指標
//頭指標指向頭結點,頭結點的值無用,頭結點的指標指向連結串列內第一個元素
//當null == head->next時連結串列為空,當null == head時連結串列為無效連結串列
#include
#include
typedef struct node node;
void* _malloc(size_t size)
return res;
}node* next = node->next;
node->next = _malloc(sizeof(node));
node->next->val = val;
node->next->next = next;
}void sortinsert(node* head, int val) }}
}void erasep(node* last)
}void erase(node* head, int n)
if (null != head)
}void showall(node* head)
printf("\n");}}
int main(int argc, char* argv)
執行截圖
c語言問題,求解答
8樓:聽不清啊
最後的輸出是0
選答案d
因為:迴圈體結束:y=9
判斷時:y=8
迴圈體結束:y=9
判斷時:y=8
迴圈體結束:y=9
判斷時:y=8
迴圈體結束:y=9
判斷時:y=8
迴圈體結束:y=7
判斷時:y=6
迴圈體結束:y=5
判斷時:y=4
迴圈體結束:y=3
判斷時:y=2
迴圈體結束:y=1
判斷時:y=0
退出迴圈。
輸出:0 (然後y變成 -1)
9樓:金色潛鳥
關鍵:字首-- 與字尾 -- 的區別。
字首,要先減1再用;字尾,先用原值,用完再減1。
初始 y=10。
do 無論y 等於幾,都要執行一次 y=y-1=9。
while(--y); 迴圈語句開始,--y 是字首--,要先減1,再判斷 是否為0,為0則退出迴圈,否則將執行迴圈體。這裡 9先減1得 8,不為 0,開始迴圈。
y 變 7。 while(--y); y 變 6, 不為 0, 繼續迴圈。
y 變 5。 while(--y); y 變 4, 不為 0, 繼續迴圈。
y 變 3。 while(--y); y 變 2, 不為 0, 繼續迴圈。
y 變 1。 while(--y); y 變 0, 為 0, 結束迴圈。
輸出語句 輸出表示式 ( y--) 的 值。這裡是字尾--,表示式裡用 y 原值,列印 0。
列印後, y 自減 1,變 -1。
題目結果 是 列印出 0。答案 d。
c語言問題,求解答
10樓:發酵罐
#include
#include
int _add(int a,int b)int _minus(int a,int b)int _muti(int a,int b)double divide(int a,int b)return (double)a/b;
}int main()
}return 0;}
c語言問題。求解答,C語言問題。求解答
上面程式的功能是算出你輸入同學的平均分,同時輸出低於平均分的分數 但是你這個程式版是有問權題的沒有退出的條件,只能輸入score為負數才能退出 分別為56,78,89,65,58,34,45,9 則輸出結果如下圖 c語言問題求解答 5 1 include 2 int main 3 21 22 23 ...
c語言問題,急求解答,C語言問題,急求解答
你好樓主 if a 1 是判斷a是否等於1 而if a 1 則直接將a賦值為1,即永遠非零 為真 不會執行else下內容,不符合程式原意 c語言中 為賦值 為判斷是否相等 a 1 是吧1賦值給a if a 1 等價於 if 1 條件為真了這時候if語句後面的內容必然會執行的 a 1是判斷他們是否相等...
c語言問題,求解答
我估計你用的是譚浩強的c語言吧 是這樣的,譚浩強那本書,為了更符號中國人的習慣,使初學者更易懂,就使得陣列索引值從1 10輸入和輸出陣列中的數,本身陣列索引是從0開始,這樣做就空置第一個元素,注意最大索引值為為10,n 而不是11 n 1 至於你問的為什麼要定義a n 1 而不是a 10 因為你前面...