99问答网
所有问题
c语言问题,如图,为什么输出3,3,3而不是2,2,3?
如题所述
举报该问题
推荐答案 2017-05-23
因为你给 a b c 赋予了相同的地址他们指向同一个数据,*a=1;*b=2;*c=3;一行该地址下面的值被三次分别更改为了1、2、3;你应当更改为:
a=(int*)malloc(3*sizeof(int));
b=a+1;c=b+1;
然后后面相同就对了
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/WWWBjzzjz7eW7vvBvBj.html
相似回答
C语言
:结果的第
三
行
为什么
是32
而不是
123?
答:
所以%d%d\t\b%d的就是就是:先是12,然后\t\b,光标回到初始位置,即12前面
,输出3,
此时会占掉1的位置,自然结果是 32
C语言
中的++i,这个答案
为什
是3
3而不是2
2,
求解释一下他怎么算的_百度...
答:
++i是先让i自增1,再进行运算,打印的时候第一个++i先让i自增1,i就变成了
2,
第2个++i再先让i自增1,i就在2的基础上加1变成了
3,
C语言,
结果
为什么是3,3不
应该
是2,2
吗
答:
循环2:n=
2,
k=4 循环3:n=
3,
k=3 循环4:n=k,跳出循环
这个
c语言
题目
,为什么
答案
不是3
2
3呢,x首先等于
3,
a等于3为真,就不计...
答:
赋值号=的优先级最低,因此需要先计算(x=x+1)||(y=y+1)的结果,然后将这个结果赋给a。由于x=x+1为真,整个逻辑或运算一定为真,不再计算y=y+1,直接返回1给a。最终x,y,a分别为
3,2,
1。
C语言
程序提问!
答:
明显结果是1234 我想你应该弄错了吧
一个
C语言
程序
,为什么输出
的结果为
3,2,
0
,而不是3,3,
1呢?有没有哪位朋 ...
答:
a=++x||++y&&z++就是a=++x或++y和z++ 计算从左到右,或左边为真时,结束运算,即x=2+1,y、z不计算,直接
输出
。结果为
3,2,
0
C语言
为什么
图上答案是
3,2,2,3?
答:
因为fun中操作的是fun里的局部变量x,y,所以操作结果不影响main中printf对于main中未被影响的x,y的
输出,不
懂请追问。
C语言
前后自增
输出
答:
这里 (++x,y++)是一个整体 逗号表达式 先计算++x 再取y的值作为整体表达式值,再y自加。于是 (++x,y++)的值就是y的原始值3 z+
2
对应另外一个%d, 值就是1+2=3 于是
输出3
3 选D
输出
为什么输出是3
条
,而不是
4条
C语言
. 我看书了,它输出4条
答:
这是因为swap( )函数中有一个getchar(),它需要你按一下回车才继续
输出
主程序中的最后一行内容。
大家正在搜
c语言本身没有输入输出语句
c语言输入输出
c语言是什么
?c语言什么意思
c语言输出
c语言逆序输出
c语言输出字符
c语言输出格式
c语言将数组逆序输出