c++ - 是什么导致了这个参数太少的错误?

标签 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();
}

最佳答案

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

我不敢说您的代码中还有许多其他错误,一旦您解决了编译器错误,您就会发现这一点。

这里有一些提示,

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

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

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

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

关于c++ - 是什么导致了这个参数太少的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463195/

相关文章:

c# - 使用 DllImport 将返回的 char* 从 C++ 传递到 C#

c++,列出所有文件,Windows 上的 dirent.h

c# - 是否可以从 C# 创建 C++ 对象?

Emacs 中的 C++ 关键字未着色

C++ 将 vector 中的字符转换为整数...很难,需要帮助吗?

c++ - 一个奇怪的宏定义c++

c++ - 使用 cmake ExternalProject_Add 将 github 库(BamTools)添加到 c++

c++ - 重命名 vector 而不是复制它

c++ - vector 在 C++ Windows 窗体中的使用

c++ - 从 .rdata 部分删除 IMAGE_DEBUG_DIRECTORY