Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.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++ 取消引用指向整数的指针时获得不同的结果 #包括 #包括 使用名称空间std; 虚无乐趣(int*a){ int b=*a++; cout_C++_Function_Pointers_Dereference - Fatal编程技术网

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
}