循环判断
if(5==choice) break;中的5==choice,该如何理解??求大佬解释一下。。。 就是它俩都是5时,条件成立
choice==5和5==choice是一个样子的 字面意思,choice等于0 while(1)
{
menu();
scanf("%d",&choice);
if(5==choice) break;
switch(choice)
{
case 1:printf("请输入要入栈几位数字:");
scanf("%d",&n);printf("要输入的数字为:");
for(int i=0;i<n;i++)
scanf("%d",&x);
Push(S,x);
printf("入栈成功!");
system("pause");break;
case 2:printf("请输入要出栈几位数字:");
scanf("%d",&m);
Pop(S,m);
printf("出栈的数字为:%d",m);
system("pause");break;
case 3:GetTop(S,e);
printf("栈顶元素为:%d",e);
system("pause");break;
case 4:judStack(S);break;
case 5:printf("感谢使用该系统!");break;
default:printf("输入有误请输入1 ~ 4\n");break;
}
}
就是这个里面的if(5==choice) break;,判断条件为啥不是choice大于5,或其他数呢?写5==choice就是只能输入一到五才能执行吗? 本帖最后由 肖-肖 于 2021-4-15 15:03 编辑
曦~~ 发表于 2021-4-15 12:34
while(1)
{
menu();
写5==choice就是只能输入一到五才能执行吗?
不是,你随便输入数字(整数),只是分几种情况而已
第一种:你输入5:会打印-》直接退出了
第二种:你输入1:进行入栈操作-》然后退出switch但不会退出while-》还会让你输入
第三种:你输入2:进行出栈操作-》然后退出-》然后退出switch但不会退出while-》还会让你输入
第四种:你输入3:打印栈顶-》-》然后退出switch但不会退出while-》还会让你输入
第五种:你输入4:judStack(S)-》然后退出switch但不会退出while-》还会让你输入
第六种:你输入其它的数字-》打印输入有误请输入1~4-》然后退出switch但不会退出while-》还会让你输入
ok,明白了,谢谢。。
页:
[1]