请问这个c语言程序k的计算过程。我的算法是a++<=0为真,b--<=0为假,!假为真这样k就是1

作者&投稿:红卞 (若有异议请与网页底部的电邮联系)
下面程序的输出是main(){int a=-1,b=4,k;k=(a++<=0) &&(!(b--<=0)); printf("%d%d%d%\n",k,a,b);~

首先a++<=0 这个为真,所以为1 但这个执行后a要+1 也就是a=0
然后b--<=0 这个为假 但前面还有个! 也就是非假 即为真 也是1 b要-1 也就是b=3
那么1&&1 也就是真 为1 那么k也就是1 k=1

输出结果为0,0,4
int a=-1,b=4,k;定义三个变量,并赋值
k=(++a<0)&&!(b--<=0);
++a,表示a先+1再参加运算,则++a<0是错误的,计算之后a=0
如果有两个& 即&&,而且前部分为错,则后半部分不执行,
那么k=0,且b不发生变化即b=4

答案是逗比 答案是逗比 答案是逗比
a++<=0 比较时a=-1
++a<=0 比较时a=0


这个c语言编程题中I和k分别代表什么意思
i是外层循环计数器,用于控制打印行数;k是内层循环计数器,用于控制每行打印的*号数。

C语言求解 程序正确。。。k代表什么意思呢?!!
k是个变量,代表数据下标 表示数组第k+1位置上的数据 for(i=0; i<M-1; i++){ k=i;\/\/此处代表从0开始循环,每次循环后再次赋值为i for(j=i+1; j<M; j++)if(n[k]>n[j]) k=j;\/\/此处代表将k的值重新赋值成j if(k!=i){ strcpy(t,ss[i]);strcpy(ss[i],ss[k]);...

C语言执行一下程序K的结果是多少?int k=0,a=1,b=2,c-3;k=ac ? c:k;
k=ac也没有什么奇怪的.ac只是一个双字母的变量。和经常看到的i,j之类的单字母变量没什么区别。和a、c这两个变量没什么关系。

c语言中k是什么意思
在C语言中,k一般是用来表示一个整型变量的名称。在C语言中,变量名的命名规则是由字母、数字和下划线组成,其中第一个字符必须是字母或者下划线。通常情况下,我们都建议使用有意义的变量名,可以让代码更加易读且易于维护。因此,取一个有意义的整型变量名k,可以让我们更好地理解代码的含义。在程序设计...

C语言程序设计中的“k=--j”怎么理解啊 谢谢
--和++有两种形式,一种是前缀,一种是后缀,这两种形式最终时间加1或者减1,前缀先减1z或者加1,后参与运算,后缀是先参与运算,后加1或者减1。在k = --j采用的是前缀形式,所以先做j=j-1,然后再赋值。

这个c语言程序中的 i j k l q r s t 代表的是什么
就是一个变量名,你可以理解为 数学方程中的 x ;这个值随时可以变的,当然是你需要让它改变 他才会变

c语言程序:i=3,k=(i++)+ (i++)+(i++),为什么k=9?
这题硬要说就是后置++是先用再加,也就是先取出i的值计算,在表达式结束后再+1。建议楼主不要看类似一个表达式中有多个++,尤其是同一变量++的东西,因为这种行为在C标准中尚未定义,也就是i的运算结果和编译器有关,i最后是4还是6谁也说不准。在实际编程中一定不要有这种表达式出现。

C语言程序分析题 大佬救救我?
答案:这2段程序不相等。第一段程序的输出结果:1 1 1、2 2 2、3 3 3、4 4 4;第二段程序的输出结果:1 1 1。分析:第一段程序使用for循环,每一次循环时,都对变量进行了初始赋值,即i=1,j=1,k=1。就是说,嵌套的内循环变量,如j,k都是从1开始的。而第二段程序使用while循环,...

C语言的一个程序问题
k=4,m=1程序转向了函数p,去看下面的函数吧>>> p=fun(k,m);printf(“%d\\n”,p);} func(int a,int b) \/\/第一次,a=4,b=1, 第二次a=4,b=1 {static int m=0,i=2; \/\/static是声明局部变量,它的意思是每次计算的m,i的值不会被再次调用函数而复原,其值是计算到多少...

C语言中?这是个死循环程序么
是的。先执行++k,k=1>0,满足循环条件,继续循环,以后每次循环k都自增1,恒大于0,无限循环,陷入死循环。

淮上区17769309567: 已知定义 int i=3 ,k.则语句k=(i -- )+(i--)运行后求k...求c语言大神告诉我 -
孙梅可乐: 执行后k的值为6,i的值为1.这里要注意i-- 和 --i的不同.虽然两种写法都是将i的值减1,但前者i--是先使用i的值进行计算然后再执行减1操作;后者--i则是先进行减1操作,然后在使用i的值进行计算.如果将原式改为 k = (--i) + (--i);则执行结果变为:k等于2,i等于1.

淮上区17769309567: c语言程序int k=011 -
孙梅可乐: #include <stdio.h>/*调用标准输入输出库,为了使用printf函数*/void main() /*主函数开始*/ { int k=011;/*定义整型变量k,赋值011*/ printf("%d\n",k++);/*调用printf函数,打印该k(按整型打印),换行,并且在此之后把k值+1 }

淮上区17769309567: c语言编程 k=(i++)+(++i)+(++i) -
孙梅可乐: abc的值和i的值当然不一样,i++和++i都是从左到右的顺序计算的,i++先取值后相加,++i先相加后取值,如a=++i就是先相加后把值给a,a=i++就是先把值给a,然后再相加.所以两次的值不一样.你计算的错了,那个式子是(i++)+(++i)+(++i),带括号的时候括号里的是要被优先计算的,i的初始值是2,所以应该是3+4+5=12.第2段代码a=i++的时候,先给值传给a再相加,所以a=2,后面的b=++i和c=++i是先相加后给值,所以b=4,c=5,2+4+5=11.如果对++i和i++还不太清楚,给我发email吧,lefthands@vip.qq.com

淮上区17769309567: C语言算术运算
孙梅可乐: 第一个括号.第二个括号.++i.最后加起来. tc的话i=5,k=12;vs2010的话i=5,k=15;vc6.0不知道. 15的过程:前加加替换成i的最终值.i=2+1+1+1=5,k=5+5+5=15

淮上区17769309567: 帮我说说这个C语言的运算顺序吧!拜托了 -
孙梅可乐: 、x+=x-=x+x ,表达式2是将i 的值加一个,先将1赋值给变量i;这是赋值运算符,运算顺序是从右到左.即先将x+x的值减赋给x变量(x-=x+x,即x=7-14=-7),再将x+=-7 所以x的最终的值为-7+-7 为-14 2、k=(i=1.所以将2的值赋值给变量k,所以k的值为2k=i=1,++i,i++; 这个是由逗号运算符组成的表达式语句,将变量i的值赋给变量k (此时i和k的值都为1,++i,i++); 这是将括号中的值计算出来后再赋值给变量k,i=1,++i,i++ 从左向右运算,将最后一个表达式的值作为这个逗号运算符组成的表达式的值,该值为2 (但i的值变成3)

淮上区17769309567: 初学c语言,这个程序 int k,j,s; for(k=2;k<6;k++,k++) { s= -
孙梅可乐: 首先k=2,进入第一层循环,s=1,接着j=k=2,开始第二层循环,由于在第一层循环中,每次s都被重新赋值为1,因此无需考虑这次循环s的值,直接考虑进入下一次循环,这时由于执行了k++,k++语句,所以k=4进入第一层循环,于是j=k=4开始对s赋值,s=1+4+5=10,这时j=6,退出第二层循环,接着执行第一层循环的k++,k++语句,于是k=6,不满足循环条件,因此退出循环,所以s=10

淮上区17769309567: C语言自加问题 -
孙梅可乐: 后缀加加是先计算表达式再自加,k=(i++)+(i++)对于第一个i来说,其表达式是i+(i++),对于第2个i来说其表达式是i+i,因此先计算i+i得到6,再计算第一个i++得到4,再计算第2个i++得到5,最后i的值为5,k的值为6.

淮上区17769309567: 给出下面几个C语言程序段的时间复杂度.要求写出计算过程 ,谢谢了,在线等. -
孙梅可乐: 1、主要操作是i = i * 5和i<=n,设循环次数为x,则5^x <= n,因此x <= log5(n),其中5是底数,因此时间复杂度为O(log5(n)). 2、主要操作在while循环中,设循环执行次数为x,则x^2<= n,x <= sqrt(n),因此时间复杂度为O(sqrt(n)). 3、主要是看内循环执行的次数,当i=1时,内循环执行n-3次i=2时,内循环执行n-6次,所以总的执行次数是(n-3*1)+(n-3*2)+(n-3*3)+...+(n-3*n/3).总的项数为n/3,因此总次数为n*(n/3)-3*(1+2+...+n/3)=(n^2 - 3n)/6.因此时间复杂度为O(n^2)

淮上区17769309567: C语言程序设计中计算 j+++k 是什么顺序啊``` -
孙梅可乐: 你可以 这样理解 j + + + k 不能表示为 j 加 另一个加号 所以只能 j + + 去加 另一个 数 比如: j++ + ++k 不加任何括弧 DEV C++编译错误,(j++)+ + + k 甚至((j++)++) +k编译同样是错误的. 而 (j++)+(++k)是正确的.而且有时候是否能...

淮上区17769309567: C语言,编写一个程序,计算1+3+3^2+3^3……+3^10的值并输出 -
孙梅可乐: /盯雀卜/#include "stdafx.h"/凯穗/vc++6.0加上这岁敏一行.#include "stdio.h"void main(void){ int i,j,k,sum; for(sum=1,i=0;i<11;i++){ for(k=1,j=0;j<i;k*=3,j++); sum+=k; } printf("The result is %d.\n",sum);}

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