C++指针变量不能使用++运算符吗?

#include<iostream>int main(){ using namespace std; int updates = 6; int * p_updates; p_updates = &updates; cout << "updates\t" << updates << endl << "* p_updates" << *p_updates << endl << "&updates" << &updates << endl << "p_updates" << p_updates << endl; *p_updates= *p_updates+1; cout << "*p_updates+1\n";///////////////////////?????? cout << *p_updates << "\t\t\t" << updates << endl; *p_updates++; cout << "*p_updates++\n";//////////////////////////////?????? cout << *p_updates<< "\t\t\t"<< updates << endl; return 0;}程序在上,运行结果如图,请问为什么*p_updates+1是有效的而*p_updates++就没有效果呢

第1个回答  2019-09-19
it should be (*pa)++.

int a = 10;
int *pa = &a;
(*pa)++;
std::cout<< a << " "<< &a << std::endl;
std::cout<< *pa <<" "<< pa << std::endl;
第2个回答  2019-09-19
能使用++运算符,帮你。

C++中a是一个char指针 如果char*a="bcd" *++a与*a++以...
a++和*(a++)是一样的,++优先级高于* ,所以a是和++连在一块的,和有没括号没关系,因为是后++,所以a在这个表达式中的值是它的当前值,在这个表达式求值完毕后,才执行a=a+1,这个次序和优先级是两回事 同样的道理*++a和*(++a)也是一回事,前++的特性使得a在这个表达式中的取值是a自增一...

C++中各类运算符的优先级
在C++中,运算符的优先级和结合方向对表达式的计算结果至关重要。各类运算符的优先级可以按照以下直观的顺序理解:首先,括号([]())的运算优先级最高,它们用于界定和改变运算的范围,然后是成员运算符(.和->),用于访问对象的属性和方法。其次,单目运算符(++、--、+\/-、指针运算*、&)占据第...

C++程序简单指针问题,为什么 *p ++ 算出来的不是 6而是5???_百度知 ...
无论是*p ++还是*(p++),其中的++都是作用在p上的而不是作用在*p上的,这是由++结合性质决定的。只有(*p)++中的++才会作用在*p上。我想我已经说清楚了……

对于基类型相同的两个指针变量之间,不能进行的运算是 A) < B) = C...
类型相同的两个指针变量不能进行加法运算,但能进行减法运算。还能用‘<’、‘>’、‘==’这三个运算符进行比较,主要用于判断指针指向数组元素的先后位置。可以比较谁的位置在前,谁的位置在后,就是谁是低地址,谁是高地址,一般来说,对数组才有可能用到如 p1=&s[0] ,p2=&s[5];那么p1在p2...

C语言指针中的++p与++*p的区别
这个是要考虑到右结合性测问题了,因为++和*是同一级别的运算符,而且是右结合的,就是在执行C语句的时候从右到左运算...另外呢,++P和P++也是不同的,++P是前++,例如a=++P;是先让P+=1,然后赋给a,而a=P++是后加加,是先把P的值赋给a,然后执行P+=1...++P是另P+=1,而++*P是取到*P的值,然后P...

请问for循环中的s++;写法是不是错误的?
我认为没错,只要你以一维数组名做实参,即s=array[0],s是指针变量,++运算符用于变量是没问题的

C语言中括号和++的优先级问题
自增运算符分为前缀形(++a)和后缀形(a++),其本质是改变变量的值,然后返回该变量的原始值。部分开发者认为,前缀形式是先++再使用(先变后用),后缀形式是先使用再++(先用后变)。然而,自增运算符只能作用于变量,而不能作用于变量或表达式,如(i+j)++ 是非法的。分析代码示例,`int a...

c++中++什么意思?
c语言里++是自增运算符,表示自加的意思,有如下两种用法:假如定义了一个变量i=1 1) 若使用i++, 指代先取i的值再另i=i+1 2)若使用++i,指代先使i=i+1再取i的值 ++在前是先给变量的值自加,及自身加一,再用变化后的值去参与运算。而++在后,则是先用原来的值参与运算,遇到...

C++中 ++(a++)为什么错误
所以不可以。C++中的“++” (自增)、 “--” (自减)运算符是使用方便且效率很高的两个运算符,它们都是一元运算符。这两个运算符都有前置和后置两种使用形式。当“\/”用于两整型操作数相除时,其结果取商的整数部分,小数部分被自动舍弃。因此,表达式1\/2的结果为0,这一点需要特别注意。

指针和引用的自增(++)运算意义不一样?
指针与引用看上去完全不同(指针用操作符“*”和“->”,引用使用操作符“. ”),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢? 首先,要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并...

相似回答