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語言問題求解答
時辰八點半 第一個days day 獲取最後一個月的天數 第二個switch month 1 獲取除了最後一個月之外完整月的天數之和 嶽章戶湘君 逗號表示式從左往右依次計算,取最右邊的表示式的值為整個表示式的值 答案應該是5.000000啊 c語言問題求解答 5 1 include 2 int ma...
c語言問題求解答具體點,C語言問題求解答
cpp1.exe 1 error s 0 warning s cpp1程式一個錯誤0個警告 c語言問題求解答 時辰八點半 第一個days day 獲取最後一個月的天數 第二個switch month 1 獲取除了最後一個月之外完整月的天數之和 嶽章戶湘君 逗號表示式從左往右依次計算,取最右邊的表示式...
c語言基礎問題求解。c語言基礎問題,求解答
a 0 b 1的值為1,因為a 0的意思就是把0賦給a,結果肯定是1 如果是a 0,那麼要a等於0才是1 b 1同理。a b是表示a和b都要是1結果才是1 a b是表示a和b裡面只要有一個1結果就是1while a 表示只要是a不是0就要執行while裡面的語句。while a 表示!a的值不是0就...