C++ 取消引用指向整数的指针时获得不同的结果 #包括 #包括 使用名称空间std; 虚无乐趣(int*a){ int b=*a++; cout
你观察到的行为是预期的 在第一种情况下,它是C++ 取消引用指向整数的指针时获得不同的结果 #包括 #包括 使用名称空间std; 虚无乐趣(int*a){ int b=*a++; cout,c++,function,pointers,dereference,C++,Function,Pointers,Dereference,你观察到的行为是预期的 在第一种情况下,它是a++,先前的a值被取消引用 在第二个例子中:a的值被取消引用加上1。@walnut是的,非常感谢。你提到的帖子消除了我的疑问。@Maestro那不行。你需要预先递增int b=++*a;@Maestro,int b=(*a)+转换为使用指针指向的值,然后递增它。 #include<stdlib.h> #include<iostream> using namespace std; void fun(int* a){
a++
,先前的a
值被取消引用
在第二个例子中:
a
的值被取消引用加上1。@walnut是的,非常感谢。你提到的帖子消除了我的疑问。@Maestro那不行。你需要预先递增int b=++*a;
@Maestro,int b=(*a)+转换为使用指针指向的值,然后递增它。
#include<stdlib.h>
#include<iostream>
using namespace std;
void fun(int* a){
int b=*a++;
cout<<b<<endl;
}
void fun1(int *a){
int b=*a+1;
cout<<b<<endl;
}
int main(){
int n=5;
fun(&n);//output remains 5
fun1(&n);//output incremented by 1
}