C语言大佬请进来求解惑
#include<stdio.h>#include<math.h>intmain(){inta=3,b=5;printf("%d",(a+b,a-b));}这最后输出结果...
#include <stdio.h>
#include <math.h>
int main()
{
int a=3,b=5;
printf("%d",(a+b,a-b));
}
这最后输出结果为什么是-2而不是8或者8-2呢 展开
#include <math.h>
int main()
{
int a=3,b=5;
printf("%d",(a+b,a-b));
}
这最后输出结果为什么是-2而不是8或者8-2呢 展开
4个回答
展开全部
a+b,a-b 是逗号表达式,运算时从左往右算,以最右一个表达式的结果作为整个表达式的结果。所以a-b=3-5=-2,这即是结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在一个表达式中使用逗号运算符,如int a=1;int b=2;int c=(a,b);
此时c的值为2,使用逗号运算符时,整个表达式的值为最后一项的值,在上述例子中(a,b)这整个式子的值即为b,也就是为2
int a=3;int b=5;
(a+b,a-b)得值即为a-b,也就是-2
此时c的值为2,使用逗号运算符时,整个表达式的值为最后一项的值,在上述例子中(a,b)这整个式子的值即为b,也就是为2
int a=3;int b=5;
(a+b,a-b)得值即为a-b,也就是-2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为这个括号里 是两个表达式 并且表达式 差没有给a或b赋值
里面有个逗号运算符 运算规则是从左往右
所以先算a+b为8 再算a-b只返回a-b 这是c语言的规则说明了的 返回最后一个
里面有个逗号运算符 运算规则是从左往右
所以先算a+b为8 再算a-b只返回a-b 这是c语言的规则说明了的 返回最后一个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询