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語言問題
首先執行getchar,就是先讓你輸入乙個字元,然後執行putchar,就是將剛剛的字元輸出,然後判斷字元是不是 是的話退出,否則繼續執行迴圈。迴圈體只有乙個 getchar每接收乙個字元,putchar就進行輸出,當為 時,則!後面若還有字元,按換行鍵後則不會輸出 輸出的字元要從getchar函式...
C語言問題求解,求C語言問題
include include include void rightmoving char s,int n return t int main 昨天剛幫人家寫 哈哈。你也可以試試這個 include void rightmoving char s,int n result 0 0 if result...
c語言指標問題,求解答,C語言中的指標問題,求解答
1,是取值運算子,因為你要判斷tt的值的情況,所以要用 2,tt 相當於 tt tt 1 這個是指標向後移動,不需要取值,謝謝,望採納 你的tt是指標吧。tt指向的是 位址 比如位址值為 10ff 1000 tt是取這個位址中儲存的資料,而tt 意思把tt指向的位址值 1,即tt現在指向了 10ff...