C 语言 为什么第二个输出是-1

作者&投稿:汝民 (若有异议请与网页底部的电邮联系)
c语言题目,a=3,b=2,c=1,f=a>b>c+1,输出f为0,为什么?~

这里涉及到两个知识点,一个是布尔型true和false转换成整数时是1和0.
另一个是运算符优先级的问题,比较运算符的优先级小于+-*/等优先级,这个你看看基本知识点。
所以这里,3>2 结果是true,强转为int就是1,1>1+1结果是false,强转为int就是0.基本知识要抓牢

先执行 printf里的 x-=2,则x=1,然后--x,x=0,再循环一遍,到printf x=-2,遇到while后 x=-3 !x=0,停止循环,程序运行结束

h = strlen(s);
对"BQMAXYZOTF"这个字符串h=10;
在f里面,第一次执行,m=(0 + 10)/2 = 5;
s[5] = Y; T<Y,于是到Y左边找,自然是返回-1了。
你用的二分查找,可是你给的字符串又不是顺序的。。。

这是二分查找,要求被查找的是有序的,而且看你的算法要求升序排列,不是升序极大可能是得不出正确结果的


汝阳县13356702591: 解读一下这个C程序哦? 为什么第二个输出格式说明符是%d却还是输出2呢? 是不是与输出项b - a有关哦? -
阳琰咳特: 第一个输出'2'的ascii码是50..b++先运算后加1..所以b='3' b-a的格式说明符是%d..所以是'3'-'1' 也就是51-49=2...

汝阳县13356702591: C语言 while(x -- ) 为什么X值是 - 1呢? -
阳琰咳特: 首先while是一个循环,x--为循环条件. 第一次while(x--),x--取值为2,条件为真,x=1; 第二次while(x--),x--取值为1,条件为真,x=0; 第三次while(x--),x--取值为0,条件为假.但是x--继续做了所以最终x=-1

汝阳县13356702591: c语言中如何实现输入一个整数实现倒序输出 -
阳琰咳特: 定义一个整数类型的输入,然后让它正序输出,倒序输出相信是很多C语言初学入门一定会遇到的经典题目,下面就是我对整数的正序和倒序输出一点小小的总结. 1. 反序(倒序)输出 反序输出常用的思路就是按位取余,把取出来的值进行循环...

汝阳县13356702591: c语言为什么输出的是1 -
阳琰咳特: 原因很简单,printf("%d\n",i)中i调用的是全局变量i=1,故输出的就是1.如果void funct(void){printf("%d\n",i);int i=5;}改程序段在main函数内那么答案就是2

汝阳县13356702591: C语言n++循环输入的第一个字符结果应该是0,输出的结果是1呢? -
阳琰咳特: 输出的是n而不是c.所以你什么都不输入只打个回车就输出0;若输入了字符,因为字符不是回车,所以还得反回去执行do后的n++,使n变成了1,然后c接收了回车就退出了……

汝阳县13356702591: c语言中,语句:printf("%d",(a=2)&&(b= - 2);的输出结果是1,这是为什么 -
阳琰咳特: 因为是(a=2)&&(b=-2) 不是(a==2)&&(b==-2) 单个等于号是赋值运算,返回的是变量的值所以是2&&-2 最终结果是1

汝阳县13356702591: c语言,关于增1减1的问题. -
阳琰咳特: 后一段改成 while(cp-->=s) {printf("%c\n",*(cp+1)); } 就一样了.主要是因为cp--后,输出时已经后移一位了

汝阳县13356702591: c语言1/2为什么输出0啊 -
阳琰咳特: 因为你的被除数是1,是一个int类型的数,输出结果也是一个int类型的,这里就是零的;如果要输出的是0.5,那你就要把1改为1.0,这样被除数就是一个float类型的数了,输出结果也将是一个float类型的数.希望能帮到你!

汝阳县13356702591: 新手请教,C语言中为什么if if else的嵌套语句中,执行了第一个if第二个会不执行?(输出的答案是2) -
阳琰咳特: else总是最近匹配的 你多写一对括号就明白了#include <stdio.h> { int a=2,b=-1,c=2; if(a<b){ if(b<0) c=0; else c+=1; } printf("%d",c); }

汝阳县13356702591: C语言,为什么我输入什么输出都是两个0? -
阳琰咳特: 你的for循环的循环条件i<0,这个从你的代码来看除非你输入的是负数,否则永远进不了循环.看你的代码应该是要从k减到0吧.所以应该改成这样 for(i=k;i>0;i--) 或者 for(i=1;i<=k;i++)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网