1、函數中某一個形參設置了默認值,則其後面的所有形參需設置默認值
2、函數聲明時可以設置默認值,函數定義時也可以設置默認值,但是不能同時設置默認值,或者在聲明時設置,或者在定義時設置。
3、假如調用函數在定義函數之前使用,且函數定義時設置了默認形參,且調用時也用了默認實參,則編譯時會出錯,因為編譯時按文件的前後順序進行的,調用函數時,只看到了聲明函數,聲明函數沒有默認形參,而調用時,省略了實參,會出錯,假如將定義函數移到調用之前,就不會出錯。
#include <stdio.h> //int test(int a,int b=10,int c= 20, int d= 30); int test(int a,int b,int c,int d); int main() { test(10); return 0; } int test(int a,int b=10,int c=20,int d=30) //int test(int a,int b,int c,int d) { printf("%d",a+b+c+d); return 0; }
本文出自 “李海川” 博客,請務必保留此出處http://lihaichuan.blog.51cto.com/498079/1303998