亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

argc,argv和C/C++易錯題分析

發布時間:2021-11-29 14:49:47 來源:億速云 閱讀:163 作者:iii 欄目:大數據

這篇文章主要講解了“argc,argv和C/C++易錯題分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“argc,argv和C/C++易錯題分析”吧!

argc即argument count. 顧名思義,是用戶在命令行內輸入的參數個數。

argv即argument vector. 是用戶輸入的參數vector庫(數組)

int main(int argc ,char *argv[])

char *argv[] 即指針數組([]優先級別高于*,于是就里面的每個元素都是char*類型,要理解好 char (*argv)[] 和 char *argv[]的區別),每一個元素內,存的都是參數,這些參數都是字符串。其實就是vector庫。如果你這里暫時不理解,沒關系,往下看。

它其實就是記錄了程序被執行時所傳入的參數。包括打開程序的那條語句。如我保存了一個程序為test.exe, 在命令行執行這個程序并順便帶幾個參數:

test.exe x y z

這樣的話argc就是四個參數,分別為text.exe、x、y、z. 輸出的話將是這樣的:

代碼:

#include <iostream>

using namespace std;

int main(int argc, char* argv[]) {

cout << "參數個數是: " << argc << endl << "分別是:" << endl;

for (int i = 0; i < argc; ++i)

cout << argv[i] << endl;

return 0;

}

argc,argv和C/C++易錯題分析

可見它其實就是將參數存在argv這個vector庫)內,你想輸出的話可以直接輸出這些參數。

理清楚優先級別

1.

int x,y,z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

其中:

z=x++,y++,++y;

這是逗號表達式,最終結果為最后一個數。這么說你可能會以為答案是2,2,3.

但實際上不是的,這里不是z=(x++,y++,++y);如果是這樣的才是2,2,3.

所以正確答案應該是2,3,1.

2.

設a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=1,則邏輯表達式(m==a<b)&&(n==c<d) 的值為__.

你或許會以為是1,但實際上大小號的優先級別大于==號,所以答案應該是0

小心取整問題

假定x和y為double型,則表達式(x=2,y=x+5/2)的值是__C__ 。

你或許會以為答案是4.500000,但是5/2會自動向下取整,所以真實答案是4.000000.

static局部變量只被初始化一次,下一次依據上一次結果值

#include <iostream>

using namespace std;

int f(int a)

{

int b = 0;

static int c = 3;

b++; c++;

return(a + b + c);

}

int main()

{

int a = 2, i;

for (i = 0; i<3; i++) printf("%d\n", f(a));

return 0;

}

答案是7 8 9,我不想排版太難看,所以還是自己腦補空格變換行吧!

小心宏定義

#include <stdio.h>

#define ABC(x) x*x

int main()

{

int a = 3, b;

b = ABC(a + 1);

printf("b = %d \n", b);

return 0;

}

這里的答案是7。原因是什么呢?因為宏定義只是單純的替換而已。其實b=a+1*a+1=7.

感謝各位的閱讀,以上就是“argc,argv和C/C++易錯題分析”的內容了,經過本文的學習后,相信大家對argc,argv和C/C++易錯題分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黑龙江省| 中宁县| 杭锦后旗| 永德县| 甘德县| 孝义市| 长沙市| 临澧县| 双桥区| 永城市| 乾安县| 怀宁县| 榆树市| 泽库县| 台东市| 汕尾市| 临沭县| 绥滨县| 大渡口区| 孝感市| 和政县| 凤冈县| 温州市| 蕉岭县| 贺兰县| 黔西县| 油尖旺区| 高密市| 沁水县| 宜春市| 田林县| 镇江市| 如东县| 阿拉善左旗| 舒城县| 铜鼓县| 象山县| 宿州市| 额济纳旗| 江华| 滕州市|