是什么导致这个参数错误太少?

时间:2012-11-19 22:12:20

标签: c++

我正在努力从键盘获取输入并将它们传递给C ++中的变量。我的论证错误太少了。

#include <stdio.h>
void_fullname(char fname, char lname) {
    printf("Enter Your First Name\n");
    scanf( "%d", &fname );
    printf("Enter Your Last Name\n");
    scanf( "%d", &lname );
    printf("Welcome: %d\n",First Name + Last Name)\n");
}

int main() {
    printf( "1.Full Name\n" );
    printf( "2.Exit\n" );
    scanf( "%d", &input );
    switch ( input ) {
        case 1:          
            void_fullname();
            break;
    }

    getchar();
}

4 个答案:

答案 0 :(得分:7)

很难弄清楚你感到困惑的是什么。你编写了一个带有两个参数void_fullname(char fname, char lname)的函数,然后用零参数void_fullname();调用它,然后编译器会告诉你你做错了什么。也许阅读一本关于C ++的入门书会有帮助吗?

我不敢说你的代码中还有很多其他错误,因为一旦你发现了编译错误,你就会发现错误。

这里有一些提示,

1)char表示单个字符,而不是字符序列。对于类似名称的东西,你需要一个char数组或一个字符串。

2)%d不是读取字符数据的正确格式说明符。

3)当你想在函数的参数中返回数据时,你应该传递一个指针或对该函数的引用。

等等......我认为你应该从更简单的事情开始。例如,如果不编写除main之外的任何函数,您可能会发现这更容易。稍后当您在没有功能的情况下使其工作时添加一些功能。慢慢开始,小步建立。

答案 1 :(得分:1)

你没有给void_fullname()任何参数

switch ( input ) {
    case 1:          
    void_fullname(); // Need args here
    break;

答案 2 :(得分:0)

此函数需要两个参数fnamelname

case 1:          
    void_fullname();

答案 3 :(得分:0)

您在没有任何参数的情况下调用void_fullname,它需要2个参数。