Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C ++*var++和++var++之间有什么区别?_C_Post Increment_Pre Increment - Fatal编程技术网

C ++*var++和++var++之间有什么区别?

C ++*var++和++var++之间有什么区别?,c,post-increment,pre-increment,C,Post Increment,Pre Increment,++*var++和++var++之间有什么区别? 为什么+++*var++正在工作,而+++var++在C中出现左值必需错误?++var++被分组为+++var++并导致编译失败,因为var++不是左值。非正式地说,这意味着你不能把它放在作业的左边 ++*var++被分组为+++*var++,这意味着使用指针算法将指针var增加1,然后将var初始值的解引用值增加1。尽管我只是在一篇评论中建议不要这样做,但查看所有可能性可能是有用的。对于指针变量p,我们有: ++夹击p,产生新的值 p++增加p

++*var++和++var++之间有什么区别? 为什么+++*var++正在工作,而+++var++在C中出现左值必需错误?

++var++被分组为+++var++并导致编译失败,因为var++不是左值。非正式地说,这意味着你不能把它放在作业的左边


++*var++被分组为+++*var++,这意味着使用指针算法将指针var增加1,然后将var初始值的解引用值增加1。

尽管我只是在一篇评论中建议不要这样做,但查看所有可能性可能是有用的。对于指针变量p,我们有:

++夹击p,产生新的值 p++增加p,产生旧值 *++pincrement p,访问它新指向的内容 *p++增量p,访问它用来指向的内容 ++*掐p指的东西,产生新的价值 *p++增加p指向的值,产生旧值 ++*++pincrement p,增加它新指向的值,产生新的值 *++p++增加p,增加它新指向的值,产生旧值 ++*p++增加p,增加它用来指向的值,产生新的值 *p+++++递增p,递增它用来指向的值,产生旧值 ++p++无意义
案例9和11就是你问的那些。在案例9中,我添加了显式括号,以便更清楚地说明发生了什么。我想如果你不考虑它们,说+++*p++,它也会起作用,但这会让我的脑袋爆炸,所以我不想再去想它了。

你忽略了提到变量的类型,看不到提议的重复问题的任何相关性,伙计们,这与排序点没有什么关系。这里有两个对象被更改,而不是一个两次。我已经重新打开了。@Senthilkumar这两个表达式是从哪里来的?你在实际的节目中找到他们了吗?他们是课堂作业的一部分吗?或者你正在试验前缀++、后缀++和*的所有排列和组合,以确保你了解它们的功能?如果你正在进行实验,我必须提醒你:许多组合,比如你所问的两个组合,都是毫无意义的,以至于用它们进行实验不可能教给你任何有用的东西,它只会让你更加困惑。请永远不要编写这样的代码。补充阅读: