c - 将值发送到另一个函数但不作为参数
问题描述
我在主函数中定义了 r:
srand(time(NULL));
r = rand() %1024 + 1;
我在主函数中调用的另一个函数中使用了 r。
int make_a_guess(int trial, int min, int max)
{
for(int i=1; i<=trial; i++)
{
int guess;
printf("(Trial: %d) Make a guess between %d and %d: ",i,min,max);
scanf("%d\n",&guess);
if(guess < r)
min = guess;
else if(guess < r)
max = guess;
else
printf("You win!");
}
}
但是我认为函数找不到r。为了防止错误,我声明“int r;” 上面的函数,但我得到“控制到达非无效函数的结尾”错误。由于指令我无法在函数中定义 r,我必须在主函数中定义它。我也不能将它发送为一个参数。
解决方案
好吧,我找到了解决方案。我重新调整了这样的功能:
int make_a_guess(int trial, int min, int max){
for(int i=1; i<=trial; i++)
{
int guess;
printf("(Trial: %d) Make a guess between %d and %d: ",i,min,max);
scanf("%d",&guess);
if(guess < r)
{
min = guess;
continue;
}
else if(guess > r)
{
max = guess;
continue;
}
else
{
printf("You win!\n");
return 0;
}
}
printf("You lost!\n");
return 0;
推荐阅读
- spring-boot - Springboot - 包括 JPA 依赖项并运行“mvn clean install”失败并出现 HikariPool-1 - 池初始化期间出现异常
- http - 获取 java.net.SocketException:连接重置,在 Apache 骆驼路由中进行 http4 调用期间
- java-8 - 为什么一次调用会执行两次 Observable 功能?
- c++ - 解析器如何处理预处理器和条件编译?
- apache - 我可以将 Apache 重写存储在 Web 根目录中的 .htaccess 的单独文件中吗?
- android - CardView 阴影未显示
- react-native - React Native:如何使用 react-native 导航在 bottomTabs 中实现 topTabs
- java - 如何在java中运行comport代码而不在linux系统中物理运行
- batch-file - FFmpeg - 批量文件批量编辑
- javascript - 我似乎无法在 javascript/typescript 的数组中更新对象字段的值?