作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我不知道我错过了什么,我写的代码是使用指针指向指针代码来练习的。
代码显示:
num1 : 1
num2 : 2
num1 : 2
num2 : 3
num1 : 3
num2 : 1636705
我猜的,最后的结果可能地址在_result[1]
,但我不知道为什么会显示,让我帮助显示最后的num2
等于4
#include <stdio.h>
void def_1(int num1, int num2, int *_return[2]);
void def_2(int num, int num2, int* _return[2] ,int **ptr[2]);
void main()
{
int num1 = 1;
int num2 = 2;
int* _return[2];
int** ptr[2] = { NULL };
printf("num1 : %d\nnum2 : %d\n", num1, num2);
def_1(num1, num2, _return);
printf("num1 : %d\nnum2 : %d\n", *_return[0], *_return[1]);
def_2(num1, num2, _return, ptr);
printf("num1 : %d\nnum2 : %d\n", **ptr[0], **ptr[1]);
}
void def_1(int num1, int num2, int* _return[2])
{
_return[0] = &num1;
_return[1] = &num2;
*_return[0] += 1;
*_return[1] += 1;
}
void def_2(int num1, int num2, int* _return[2] ,int** ptr[2])
{
ptr[0] = &_return[0];
ptr[1] = &_return[1];
**ptr[0] += 1;
**ptr[1] += 1;
}
最佳答案
这些是对临时对象的引用:
void def_1(int num1, int num2, int* _return[2])
{
_return[0] = &num1;
_return[1] = &num2;
}
通过引用接受 int
(C++)
void def_1(int& num1, int& num2, int* _return[2])
{
_return[0] = &num1;
_return[1] = &num2;
}
或者通过指针(C):
void def_1(int* num1, int* num2, int* _return[2])
{
_return[0] = num1;
_return[1] = num2;
}
关于c++ - (C) 我错过了什么代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34645851/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!