gpt4 book ai didi

c++ - 为什么这个程序显示 "unreachable code"警告?我该如何抑制它?

转载 作者:行者123 更新时间:2023-11-30 00:43:46 25 4
gpt4 key购买 nike

#include<iostream.h>
#include<conio.h>
#include<process.h>

void function(void);

int main(void)
{
clrscr();

int ch;

while(1)
{
cin>>ch;

if(ch==2)
exit(0);
else
function();
}//while
return 0;
}//main

void function(void)
{
cout<<"Hello";

return;
}

上面的代码工作正常,但为什么我会收到“无法访问的代码”警告?我真的不明白我做错了什么。当我注释/删除 main() 中的 return 0; 语句时,编译器没有显示任何警告。为什么会这样?请告诉我我做错了什么以及正确的做法是什么。

最佳答案

while (1) 循环没有退出的选项。

因此,exit(0) 未被识别,因为数据流分析未将其视为跳转到 while (1) 代码后面的选项(实际上它没有)。

因此,无法到达return 0;

如果您将 exit(0) 替换为 break,它就会发生变化。 break 将导致离开 while (1) 并且 return 0; 变得可达。

关于c++ - 为什么这个程序显示 "unreachable code"警告?我该如何抑制它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52371717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com