如何在不返回 C++ 值的情况下退出 int 函数?
How can exit from a int function without returning value in C++?
我昨天试图用 c++ 解决一个问题。这个问题是一个著名的问题,叫做"嘶嘶声"。它将采用一个数字作为输入。对于 3 的每个倍数,打印"嘶嘶声"。对于 5 的每个倍数,打印"Buzz"。对于 3 和 5 的倍数,请打印"FizzBuzz"而不是数字。如果一个数字不是 3、5 或两者的倍数,它将打印该数字。
一个例子:如果我给 5 作为输入,它将显示如下输出:12Fizz4Buzz
.但问题是这个法官有一个模板代码,如下所示:
#include<bits/stdc++.h>
using namespace std;
int FizzbuzzFunc(int num)
{
return 0;
}
int main()
{
int number;
cin>>number;
cout<<FizzbuzzFunc(number);
return 0;
}
每当我尝试通过将我的代码放入"FizzbuzzFunc"来解决它时,它都会在输出的末尾打印一个额外的 0。如果我的代码看起来像这样,则举个例子:
#include<bits/stdc++.h>
using namespace std;
int FizzbuzzFunc(int num)
{
for(int i = 1; i <= num; i++)
{
if (i % 3 == 0 && i % 5 == 0)
{
cout<<"FizzBuzz";
}
else if(i % 3 == 0)
{
cout<<"Fizz";
}
else if(i % 5 == 0)
{
cout<<"Buzz";
}
else
{
cout<<i;
}
}
return 0;
}
int main()
{
int number;
cin>>number;
cout<<FizzbuzzFunc(number);
return 0;
}
并将输入为 5,则输出将如下所示:12Fizz4Buzz0
. 如何从输出中删除额外的 0?
如果函数声明为返回值,则必须返回值。
从函数末尾流出等效于没有的返回 价值;这会导致值返回中出现未定义的行为 功能。
但是,您的代码打印额外0
的原因是您告诉它:
cout<<FizzbuzzFunc(number);
不要用cout
,只调用函数。
FizzbuzzFunc(number);
此外,如果函数不需要返回值,则可以将其返回类型设置为void
。
void FizzbuzzFunc(int num)
你可以从中return;
而不是cout<< FizzbuzzFunc(number);
只是做FizzbuzzFun(number);
。这样,您就不会打印函数返回的值。如果不打算使用函数返回的值,则应使用void
返回类型声明该函数。
使FizzbuzzFunc()
函数返回如下所示的void
返回类型:void FizzbuzzFunc(int num)
。此版本的FizzbuzzFunc()
不返回任何值,因此您不必从函数内部执行return 0;
。
相关文章:
- 在没有太多条件句的情况下,我如何避免被零除
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 在未初始化映射的情况下,将值插入到映射的映射中
- 是默认情况下分配给char数组常量的值
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 如何在不产生任何垃圾的情况下获得C中的像素
- 在已经使用Git的情况下减少编译时间
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 如何在不返回 C++ 值的情况下退出 int 函数?
- 程序在没有输入的情况下退出,它有基本的,驱动的类属性初始化问题
- 如何在不退出和失去断点的情况下重新加载重新编译的二进制文件
- 为什么GetMessage在不发送任何消息的情况下退出我的程序
- 在另一个线程正在运行的情况下退出应用程序时出错
- getchar 有什么问题(因为程序在没有检查的情况下退出循环)
- 多线程服务器在不等待客户端连接的情况下退出
- 在没有goto的情况下退出嵌套循环
- 在没有c++11的情况下,使用boost标记线程退出的正确方法是什么
- 在不使用pkill的情况下优雅地退出程序的最佳方式
- 从vi运行各种c或cpp开发任务"就像在不退出vi的情况下运行cpp程序一样。
- 如何在没有输入的情况下退出c++程序