解释一下这个c语言问题

如题所述

整型、浮点数这些数据类型在C语言中通常是作为数值运算,整型还作为数组的下标使用,如声明一个整型数组 int a[10];至于字符,在C语言中,通俗的说,常常就是作为标识符给不同的变量起名字用的,例如你定义一个整型数据,你就必须给它用合法的标识符起个名字,如 int a=10,在程序中要用到10时,用a表示就可以了。
温馨提示:内容为网友见解,仅供参考
无其他回答

请问这个c语言程序题怎么做呀,能具体解释一下吗,谢谢啦
答案是A 表达是(!x==0)按照符号优先级,!大于== !(逻辑取反),C语言中非零为真 !x==0,只有当x为非零数成立,成立,即为真。当x为0时候,表达式不成立,为假。结论:x为0即为假,x不为0为真。B x :即x非零为真,正确。C x!= 0 :当x为0的时候为假,x不为0的时候成立...

c语言:如图,请问一下哪里出错了?
首先解答一下这个C语言代码出错的原因:第一个gets未定义:出现这个错误一般是没有包含相应的头文件,或者库里没有这个函数。这里应该是没有这个函数。gets(char *dest)是一个老的库函数,采用这个函数存在越界的安全隐患。它只有一个参数,如果输入的字符个数超过dest内存空间,程序可能失败,也可能被黑客...

怎样解释这个c语言程序??特别是划线部分
这意思是说,尽管 a已经存在某个值了,但不能改变 它的范围 是 -32768~32767的事实,既然这个事实存在,就必须考虑事实,百位 用 a\/100%10 才是正确、无BUG的做法。

...一个概念性问题,我很难理解。希望C理解的深的给我详细解释解释...
1.首先,因为[]优先级(顶级)高于*(次顶级),所以应先算[]。所以先只看(a+i)[j]。2.然后,这里一堆的东西不好看,做个简化:因为a是二维数组的名字,故a+i是第i行的行指针,相当于一个一位数组的数组名。把a+i记作x,那么(a+i)[j] 就可以记成 x[j]。3.由取下标运算的含义:x...

一道C语言问题 麻烦帮我解释一下!
这里主要涉及到ASC码表对应以及char和int类型隐式转换的问题,需要记住的是:一个字符类型的数据,在进行+、-、*、\\等运算时,编译器会隐式类型转换为该字符对应的ASC码值来计算。char x=123; 该句将x初始化为ASC码值为123的字符。开始循环时,x存放字符的ASC码值为123,因此x%10=3,从而x%10...

发现了一个有趣的c语言问题,请各位大神帮忙解释一下。
1.之所以再次编译值不改变,乃是因为系统在加载可执行镜像时所选取的栈的初始地址是相对固定的,a就在这个栈上,而且程序开始到main函数执行,这是一段按部就班的例程,没有什么变数,所以a的地址不变是可以理解的。2.scanf("%d",20000)这句合法并没有什么难以理解的地方,因为指针归根到底也只是一...

C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
主要考察你c语言三目运算符的结合方向 是自右向左的 所以a<b?a:c<d?c:d 可以看成 a<b?a: (c<d?c:d) 1 < 4 ? a : (c < d ? c:d)括号内的表达式也可以看做是一个元素 因为 a = 1 b = 4 所以 条件 a < b 成立 所以选前者 a 答案就是 A) 1 ...

C语言问题,求原因解!
X代表十六进制,p代表a数组的首地址 第一个printf()输出194就是说数组a的首地址是十六进制的194 p+9就是指向0的位置,a中每一个元素占用2个字节,那么从a的开始到0共占用2*9 = 18个字节18的十六进制是12,所以194 + 12 = 1a6故选D ...

C语言问题 解释下这个问题
3的值为:11111100 而2+X的值为:00000010+00100111=00101001 ^表示“异或”运算符:“异或”运算符也叫XOR运算符。它的规则是:若参加的两个二进制数同号,则结果为0,(假);异号则为1(真)。即0^0=0;0^1=1;1^1=0;1^0=1 所有这个表达式的最后结果为:00101001^11111100=11010101 ...

C语言题目,详细解释,每一项为什么,谢谢
这个题目选C。因为定义a[3][4]二维数组后,第一下标的取值范围是0~2三个数,第二下标的取值范围是0~3四个数,即:a[0~2][0~3],共计3×4=12个元素。显然选项C的a[0][4]并不在这个范围内,所以这个元素并不存在,是非法调用。

相似回答
大家正在搜