【发布时间】:2013-02-23 22:40:36
【问题描述】:
我正在尝试交换节点值。没有编译错误。我正在使用 Visual Basic 进行编程。如果有人能指出我哪里出错了。会有很大的帮助。
另外,我可以在我的代码中添加什么,所以交换任何值,无论是 char 还是 int。
#include <stdio.h>
#include <stdlib.h>
struct lnode {
int data;
struct lnode* next;
};
void swapNodes(struct lnode* n1, struct lnode* n2);
int main()
{
struct lnode nodeA, nodeB;
nodeA.data = 1;
nodeB.data = 2;
swapNodes(&nodeA, &nodeB);
getchar();
return 0;
}
void swapNodes(struct lnode* n1, struct lnode* n2)
{
struct lnode* temp;
temp = n1->next;
n1->next = n2;
n2->next = temp;
printf("nodeA= %d nodeB= %d",n1->data,n2->data);
}
【问题讨论】:
-
这实际上是今天关于 pass-by-value 与 pass-by-pointer 的第 5 个问题。提示:您需要取消引用
swap()中的指针。 -
您正在使用 Visual Basic 进行 C++ 编程?这是如何运作的?或者您的意思是您正在使用 Visual Studio?此外,如果您使用的是 Visual Studio,您应该学习如何使用调试器。它会很快让你发现问题出现在哪里,然后你可以找到解决问题的方法。
-
是的,我想说工作室不是基本的哈哈,抱歉。
标签: c