求助如何跳出while循环
#include<stdio.h>#define TMAX_SIZE 100
typedef struct
{
int key;
}element;
element list;
int search(element list[], int senum, int num);
int main()
{
int i, num, senum, k;
printf("请输入元素的个数:");
scanf_s("%d", &num, 10);
printf("请输入元素:\n");
for (i = 0; i < num; i++)
{
scanf_s("%d", &list.key, 1);
}
while (1) ////////////
{
printf("请输入要查询的数据元素:\n");
scanf_s("%d", &senum, 1);
k = search(list, senum, num);
if (k != -1)
{
printf("所查询元素的下标为:");
printf("%d\n", k);
}
else
printf("查询元素不存在\n");
}
return 0;
} ////////////
int search(element list[], int senum, int num)
{
int j;
list.key = senum;
for (j = 0; list.key != senum; j++);
return j < num ? j : -1;
}
请问该如果跳出while循环,while循环部分已标出 break/goto 用break qiuyouzhi 发表于 2020-5-31 21:07
break/goto
我试过了,还是跳不出
我是用这句 if(0.1)break;
放在最前面和后面都不行 祁映 发表于 2020-5-31 21:11
我试过了,还是跳不出
我是用这句 if(0.1)break;
放在最前面和后面都不行
1,改成if 1试试
2,不行用goto qiuyouzhi 发表于 2020-5-31 21:14
1,改成if 1试试
2,不行用goto
,,,,是跳出来了,但是只循环了一次。嗯,我想是要有指示的时候才跳。之前是可以不断输入,但结束不了。这次我把break放在最后,可循环一次就结束了 定义一个全局变量,记录是否是首次循环,是的话,不执行提示,不是的话提示是否继续查询,输入xx退出,就在刚进入while那里加一个if,else scanf_s("%d", &senum, 1);这个后面加一个 if (senum == 0 或别的什么数)break; break break 你怎么老在那里查?你列出选项让人选择查或退不行?别人选查就查,选退就退 break语句 chxchxkkk 发表于 2020-6-1 09:53
scanf_s("%d", &senum, 1);这个后面加一个 if (senum == 0 或别的什么数)break;
谢谢,能结束循环了 405794672 发表于 2020-6-1 17:21
你怎么老在那里查?你列出选项让人选择查或退不行?别人选查就查,选退就退
也不是,还没搞好,我还要再修改。
页:
[1]