1

我正在努力从键盘获取输入并将它们传递给 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

4 回答 4

7

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

恐怕您的代码中还有许多其他错误,一旦您解决了编译器错误,您就会发现。

这里有几个小窍门,

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

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

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

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

于 2012-11-19T22:17:16.540 回答
1

你没有给出void_fullname()任何论据

switch ( input ) {
    case 1:          
    void_fullname(); // Need args here
    break;
于 2012-11-19T22:16:07.327 回答
0

此函数需要两个参数,fname并且lname

case 1:          
    void_fullname();
于 2012-11-19T22:14:26.033 回答
0

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

于 2012-11-19T22:15:00.523 回答