LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 798|回复: 7

c的问题

[复制链接]
发表于 2003-1-18 10:41:56 | 显示全部楼层 |阅读模式
请问这个程序的输出是什么
main()
int x=2,y,z'
x*=3+2;  printf("%d\n",x);
x*=y=z=4; printf("%d\n",x);
x==(y=2); printf("%d\n",x);
}
里面的*=,==是符合附值运算符吧,他表示了怎么的意思呀?
发表于 2003-1-18 11:08:47 | 显示全部楼层
==是判断符在那里应该没作用吧。x*=3+2,就是等于x=x*(3+2),所以输出应该是:
10
40
40(第三句不做任何改变,此语句有误)
这是C的基础,看来兄弟要先好好看教材,多练习和实践,此帖将被转到程序版。
 楼主| 发表于 2003-1-18 11:11:31 | 显示全部楼层
谢谢~~~~哎,小弟就是在自学呀~~书上写的不是很详细,这段内容一带而过了~~
所以有些不懂。。。。
哈,最近可能要经常麻烦各位了~~
 楼主| 发表于 2003-1-18 11:13:33 | 显示全部楼层
在问一下,版主刚才说第三句有误,是错在哪了?
发表于 2003-1-18 11:17:14 | 显示全部楼层
我觉得主要是这样用不规范,当然运行应该没问题。
发表于 2003-1-18 12:26:08 | 显示全部楼层
不可能编译通过的
不信?
试一下就知了
发表于 2003-1-18 13:25:40 | 显示全部楼层
这样子就可以了
main(){
int x=2,y,z;
x*=3+2; printf("%d\n",x);
x*=y=z=4; printf("%d\n",x);
}

不过这个程序写得实在是没意思,教才这么编也太害人了。
发表于 2003-1-21 07:12:24 | 显示全部楼层
我想本来的意思是 将 2 赋给 y 后 在赋给 x 但是 打印成了 == 所以没有作用 !
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表