我在這裏有兩個問題。在C/C++中傳遞參數
Q1: 什麼將下面的程序輸出(32位小端機器上):
int main()
{
long long a = 0x1, b = 0x2, c = 0x3;
printf("a = %d, b = %d, c = %d.\n", a, b, c);
return 0;
}
,爲什麼?
Q2:
爲什麼的a
,b
和c
輸出有什麼不同?
void func(int a, int b, int c)
{
printf("a = %d, b = %d, c = %d.\n", a, b, c);
}
int main()
{
long long a = 0x1, b = 0x2, c = 0x3;
printf("a = %d, b = %d, c = %d.\n", a, b, c);
func(a, b, c);
return 0;
}
如果您將第一個和第三個設置爲默認值,那麼當我給它兩個參數時,您希望它執行什麼操作?至於其他一切,只是未定義的行爲。 – chris 2013-05-06 04:44:17
@chris但爲什麼我不能只將第一個參數設置爲默認值? – imsrch 2013-05-06 04:46:20
閱讀關於函數重載。你可以用它做你想做的。 – 2013-05-06 04:48:08