gpt4 book ai didi

C 错误 - '...' token 之前需要声明说明符或 '*'

转载 作者:行者123 更新时间:2023-11-30 19:11:03 27 4
gpt4 key购买 nike

我正在尝试了解指针,并且正在尝试编写一个程序来使用指针交换两个数字。但是,我收到标题中所述的错误。这是我的代码:

    //This program swaps two numbers using pointers

#include <stdio.h>

void swap(*val1, *val2);

int main() {

int num1, num2;
int *pNum1, *pNum2;

printf("Enter number 1:\n");
scanf("%d", &num1);

printf("Enter number 2:\n");
scanf("%d", &num2);

pNum1 = &num1;
pNum2 = &num2;

printf("Numbers not swapped: %d, %d\n", *pNum1, *pNum2);
swap(pNum1, pNum2);


return 0;
}

void swap(*val1, *val2) {

int temp;

temp = val1;
val1 = val2;
val2 = temp;

printf("Numbers swapped: %d, %d\n", *val1, *val2);


return;
}

最佳答案

void swap(*val1, *val2);

应该是

void swap(int *val1, int *val2);

然后你应该通过

swap(&num1,&num2);

如果你传递一个指针,那么你传递的是它的一个副本。你需要传递地址。调用函数中不需要指针,可以直接传递变量的地址。

void swap(int *p,int *q)
{
int t = *p;
*p = *q;
*q = t;

}

关于C 错误 - '...' token 之前需要声明说明符或 '*',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40736803/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com