【发布时间】:2018-03-12 23:21:25
【问题描述】:
我正在尝试打印整数指针中的值。该指针按顺序存储二叉搜索树键。
所以我的中序函数是,
int traversal(int* num,node *t, int i) {
if (t == NULL) {
return i;
}
if (t->left != NULL) {
i = traversal(num, t->left, i);
}
num[i] = &(t->value);
i++;
if (t->right != NULL) {
i = traversal(num, t->right, i);
}
return i;
}
而打印功能是,
void traversalPrint(int* nums) {
for (int i = 0; nums[i] !='\0'; i++) {
printf("%d", &nums[i]);
}
}
int main(){
int* numPtr = (node*)malloc(sizeof(int*));
node* bst = NULL:
traversal(numPtr, bst, 0);
traversalPrint(numPtr);
}
我的问题是traversalPrint 函数打印出numPtr 的内存地址,而不是值。
如何打印出指针的值?
提前致谢!
【问题讨论】:
-
&nums[i]中的&会返回内存地址。只有字符串需要它。 -
@0decimal0 你有什么理由不投票关闭作为重复并发表评论?
-
@bolov 我猜是我的特权。
-
@0decimal0 是什么意思?
-
@bolov 关闭投票权限从 5k 代表开始。
标签: c pointers binary-search-tree inorder