vcgaoshou 2015-03-04 01:33 采纳率: 75%
浏览 1575
已采纳

函数实参和形参个数不同,为什么能通过VC++6.0编译

函数定义如下:
void fun(char s[]){
....
}

int main(){
char s[]=...,t[]=...;
fun(s,t);
...
}
为何能通过VC++6.0的编译,实际传递给fun的参数是s

  • 写回答

1条回答 默认 最新

  • 普通网友 领域专家: 编程技术技术领域 2015-03-04 02:27
    关注

    VC6 没有安装,但 VS2015 下肯定是编译无法通过的。
    因为从语法上来讲,也肯定是编译不能通过的。

    
    void fun(char s[]){
        return ;
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        int s = 0;
        char c = 0;
    
        char ss[4]= {'a','b','c'};
        char t[4]= {'e','f','g'};
        fun(ss,t);      // error C2660: 'fun' : function does not take 2 arguments
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 7月27日