C语言优先级问题
while(*s++=*t++);等价的程序段是我记得以前看书时说,++和*优先级相同所以从右到左原则,也就是先++在*但是考试给的答案是这样的:do{*s=*t++;}...
while( *s++ = *t++ );
等价的程序段是
我记得以前看书时说,++和*优先级相同所以从右到左原则,也就是先++在*
但是考试给的答案是这样的:
do {
*s = *t++;
} while ( *s++ );
百思不得其解,网上说是先*s=*t,在s++和t++。。究竟哪种对呢请详细解释下好吗 展开
等价的程序段是
我记得以前看书时说,++和*优先级相同所以从右到左原则,也就是先++在*
但是考试给的答案是这样的:
do {
*s = *t++;
} while ( *s++ );
百思不得其解,网上说是先*s=*t,在s++和t++。。究竟哪种对呢请详细解释下好吗 展开
4个回答
展开全部
不是呀,i++的定义和i=i+1是完全不同的两个概念
你说的那个是++i。i++的意思是在执行一遍赋值语句后i才自动加1
二++i 是没执行语句前i就自动加1了!
你说的那个是++i。i++的意思是在执行一遍赋值语句后i才自动加1
二++i 是没执行语句前i就自动加1了!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个运算符优先级的问题
百思不得其解,网上说是先*s=*t,在s++和t++。。 是错的
在 ++ -- * & sizeof 和 强制类型转化 是一个优先级 但是结合顺序是从右向左
所以 先 ++ 然后取值
百思不得其解,网上说是先*s=*t,在s++和t++。。 是错的
在 ++ -- * & sizeof 和 强制类型转化 是一个优先级 但是结合顺序是从右向左
所以 先 ++ 然后取值
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
考这种题真是毫无意义,就算是嵌入式估计也不会这么写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询