| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 896 人关注过本帖
标题:C语言中非语句的表达式会执行实际操作吗?
只看楼主 加入收藏
zhenhang
Rank: 1
等 级:新手上路
帖 子:18
专家分:2
注 册:2009-2-3
结帖率:80%
收藏
 问题点数:0 回复次数:0 
C语言中非语句的表达式会执行实际操作吗?
今天看谭版《C语言程序设计》(第三版)第3章和第4章关于表达式和语句的部分。突然想到了这么一个问题,那就是纯粹的赋值表达式,而不是加了;的赋值语句是否会产生实际的操作呢。于是写下了如下段代码放GCC编译器上测试,最终的结果是产生了实际操作。不是说C语言是用语句来向计算机发出操作指令的吗?不解!!!希望大家能帮我解疑释惑!!!

#include<stdio.h>
int main()
{
    int a,b,t;
    a=2,b=3;
    if((a=b)>0)  t=a;
    printf("a=%d,  t=%d\n",a,t);
}

结果为:

a=6,  t=6

这里面if条件表达式里面a=b就是一个赋值表达式,虽然不是一个赋值语句,但是它产生了实际的操作,让a=6。
搜索更多相关主题的帖子: C语言 语句 表达 中非 
2010-02-04 16:47
快速回复:C语言中非语句的表达式会执行实际操作吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019081 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved