请教个C语言基础问题

2019-07-21 00:12发布

本帖最后由 liuchang 于 2016-1-18 22:24 编辑

例如:
i[mw_shl_code=applescript,true]int temp = 0;
int add(int a,int b)
{
        return a+b;
}

int main()
{
        int a = 4;
        
        if((temp = add(2,3))>a)
        {
                ;
        }
}[/mw_shl_code]为什么代码执行完后,temp的值不是5,还是0啊?这个小弟理解不了~~~
换种表达方式,例如在
if(语句1)
或者
while(语句2)
请问语句1,语句2执行完判断以后,语句1和语句2是真的执行了吗?还是执行完判断以后恢复到初始值?为什么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
yyx112358
1楼-- · 2019-07-21 04:44
 精彩回答 2  元偷偷看……
liuchang
2楼-- · 2019-07-21 09:33
 精彩回答 2  元偷偷看……
liuchang
3楼-- · 2019-07-21 14:58
[mw_shl_code=c,true]sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg, int stacksize, int prio)
{
  static u32_t TaskCreateFlag=0;
  u8_t i=0;
~~~
  if(OSTaskCreate(thread, (void *)arg, &LWIP_STK_AREA[LWIP_STK_SIZE-1],prio)==OS_NO_ERR) /*例如这里,这里是会创建task任务吗*/{
       TaskCreateFlag |=(0x01<<i);

}
}
小温
4楼-- · 2019-07-21 20:44
int temp = 0;

int add(int a,int b)
{
        return (a+b);
}

int main()
{
        int a = 4;

        temp = add(2,3);

        if(temp > a)
        {
               //good luck ;
        }
}
telentmmc
5楼-- · 2019-07-22 01:43
 精彩回答 2  元偷偷看……
夜猫煮茶
6楼-- · 2019-07-22 05:31
在VS上跑了一下,实际运行结果是5,不知道楼主用的是什么编译器?

一周热门 更多>