想知道我的代码怎么编译错误了,请各位能否指正一下,我int前面也加;了,就是不知道哪错了
2条回答 默认 最新
关注 【以下回答由 GPT 生成】
问题的原因是代码中存在多个语法错误。以下是逐个解决这些错误的步骤:
- '[Error] 'search' was not declared in this scope'错误是因为在调用search函数之前没有提前声明该函数。要解决这个错误,可以在main函数之前添加search函数的函数原型声明,如下所示:
c int search(int k, int amount[], int length);
- '[Error] expected ';' or ')' before 'int''错误是因为第12行的if语句中的语法错误。应该在if语句的判断条件中调用search函数,而不是在判断条件的右侧声明search函数。正确的if语句应该如下所示:
c if (r == 1/2 * search(k, amount, sizeof(amount)/sizeof(amount[0]))) { // some code }
- '[Error] 'right' was not declared in this scope'错误是因为在search函数中引用了未声明的变量'right'。要解决这个错误,你应该在search函数中声明和初始化right变量,如下所示:
c int right = length - 1;
- '[Error] 'a' was not declared in this scope'错误是因为在search函数中引用了未声明的变量'a'。要解决这个错误,你应该将'right'变量的名称更正为'a',如下所示:
c int a = length - 1;
最终修复后的代码如下:
#include <stdio.h> int search(int k, int amount[], int length); int amount[] = {11,2,5,8,9,56}; int main() { int k; scanf("%d", &k); int r = search(k, amount, sizeof(amount)/sizeof(amount[0])); if (r == 1/2 * search(k, amount, sizeof(amount)/sizeof(amount[0]))) { // some code } else { printf("不存在那个数"); } return 0; } int search(int k, int amount[], int length) { int ret = -1; int right = length - 1; int left = 0; while (left <= right) { // some code } return ret; }
请注意,修复的代码仅仅是修复了语法错误,并不能保证代码的功能是正确的。
【相关推荐】
- 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7572278
- 这篇博客也不错, 你可以看下C 语言 6.13 输入一些整数,编程计算并输出其中所有整数的和,输入负数时不累加,继续输入下一个数。输入零时表示程序结束。
- 您还可以看一下 张勇老师的初级到CS开发高手通用权限管理系统全程实录课程中的 编写递归算法绑定树型菜单小节, 巩固相关知识点
- 除此之外, 这篇博客: C语言实现顺序查找中的 算法思想:遍历整个数组,依次将数组中的每一个元素与待查找的数据进行比较,若没找到,则停止循环,输出其位置值;如果遍历结束,都没有找到符合条件的数,则输出“没找到”等提示信息。 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 解决一个加好友限制问题 或者有好的方案
- ¥15 关于#java#的问题,请各位专家解答!
- ¥15 急matlab编程仿真二阶震荡系统
- ¥20 TEC-9的数据通路实验
- ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
- ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
- ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
- ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
- ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
- ¥30 求解达问题(有红包)