如何在函数中输入数字以输出单词?

How do I input a number into function to output a word?

提问人:NewToCode 提问时间:9/16/2019 最后编辑:isp-zaxNewToCode 更新时间:9/16/2019 访问量:40

问:

我很难理解 cout 的工作原理。我正在编写一个程序,可以读取数字并将每个数字转换为数字的中文版本。

每当它启动该函数时,就会在它后面出现一些数字。例如yi6296576

为什么会这样?

#include <iostream>
#include <string>
using namespace std;

int M(int manUp){
    if (manUp == 0) cout<< "ling";
    if (manUp == 1) cout <<"yi";
}

int main () {
    int num;
    cout << "put number\n";
    cin >> num;
    cout << M(num) << endl;
    return 0;
}
C++ 函数 输入 IOSTREAM

评论

0赞 Sam Varshavchik 9/16/2019
当您尝试编译此程序时,编译器是否向您显示警告消息?
0赞 isp-zax 9/16/2019
基本语法更正。使问题更加具体。

答:

0赞 jkb 9/16/2019 #1

你告诉它,你似乎忽略了编译器警告。

您的函数被指定为返回一个 ,但是您没有语句,因此它最终会返回内存中的任何垃圾。你的编译器应该抱怨没有 return 语句。Mintreturn

函数将字符串写入 ,并立即写入返回的值 to。因此,即使返回一个合理的值,该值仍会紧跟在字符串之后。McoutmainMcoutMcout

要解决此问题,请从 返回一个正确的值,然后在写入返回值以将其与字符串分开之前,先写一个空格或换行符。Mcout

评论

0赞 NewToCode 9/16/2019
是的,我是新手。谢谢你的建议!你会如何付诸行动?另外,为什么当我按回车键时,评论部分没有转到新行?我想举个例子来说明你说的话,但我不知道如何展示它:/
0赞 jkb 9/16/2019
首先问问自己是否应该返回一个值,如果应该返回一个值,它应该是什么,你想用它做什么。M