【急问】很短的C程序运算题,不用编程或看程序!!!
1)若a=4,b=a*a++;求a,b应该怎样算b?是算(4+1)*(4+1)还是4*(4+1)还是4*4+1还是怎样?2)a=4,c=++a+a,求a,c应该怎样算a,...
1)若a=4,b=a*a++;求a,b
应该怎样算b?是算(4+1)*(4+1) 还是4*(4+1)还是4*4+1还是怎样?
2)a=4,c=++a+a,求a,c
应该怎样算a,c?若c=(a++)+a呢?
3)若以上两问并非独立的语句,而是连起来的两条语句,应当怎样算a,b,c?
请给出过程,谢谢! 展开
应该怎样算b?是算(4+1)*(4+1) 还是4*(4+1)还是4*4+1还是怎样?
2)a=4,c=++a+a,求a,c
应该怎样算a,c?若c=(a++)+a呢?
3)若以上两问并非独立的语句,而是连起来的两条语句,应当怎样算a,b,c?
请给出过程,谢谢! 展开
2个回答
展开全部
这个是 考察 优先级的问题
我们都知道的真理是:
a ++:先计算在加
++ a:先加在计算
对于第一问 =运算符 是从左到右运算的 所以 先算 a 然后是*a++ 因为++的优先级 比较高 所以应该先算a++所以 a的值 已经变成5了 但是因为 ++在a的后面 所以a返回的值 依旧是4 所以 原表达式b=a*a++ 就相当于 b=4*4 =16但是此时a的值 是5
第二个问题就比较好解决了 ++的优先级高 所以 先算++ 因为++在a的前面 那么 a此时的值为5 之后 又+a 所以 c=++a+a 就相当于 c=5+5=10
对于c=(a++)+a 相当于 c=4+4 但是 表达式 结束的时候 a的值为5
两条语句连起来 是一样的啊 第一个表达式 运行完了 a最后等于5 然后 用a=5带入第二个表达式 求值
我们都知道的真理是:
a ++:先计算在加
++ a:先加在计算
对于第一问 =运算符 是从左到右运算的 所以 先算 a 然后是*a++ 因为++的优先级 比较高 所以应该先算a++所以 a的值 已经变成5了 但是因为 ++在a的后面 所以a返回的值 依旧是4 所以 原表达式b=a*a++ 就相当于 b=4*4 =16但是此时a的值 是5
第二个问题就比较好解决了 ++的优先级高 所以 先算++ 因为++在a的前面 那么 a此时的值为5 之后 又+a 所以 c=++a+a 就相当于 c=5+5=10
对于c=(a++)+a 相当于 c=4+4 但是 表达式 结束的时候 a的值为5
两条语句连起来 是一样的啊 第一个表达式 运行完了 a最后等于5 然后 用a=5带入第二个表达式 求值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询