c - 如何在函数中传递指针作为参数?

标签 c function pointers definition

我正在尝试使用指针打印数字的总和和差异,但我只得到总和作为输出。

#include <stdio.h>
#include<math.h>

void update(int *a,int *b)

 {

    int sum,sub;

    sum = *a + *b;

    printf("",sum);

    sub = abs(*a - *b);

    printf("",sub);

}

int main()

{

    int a, b;

    int *pa = &a, *pb = &b;

    scanf("%d %d", &a, &b);
    update(pa, pb);
    printf("%d\n%d", a, b); 
    return 0;
}

最佳答案

如果我理解正确(考虑到函数名称),你的意思如下

#include <stdio.h>
#include <stdlib.h>

void update( int *a, int *b )
{
    *a += *b;
    *b = abs( *a - *b - *b );
}

int main(void) 
{
    int a, b;

    scanf( "%d%d", &a, &b );

    update( &a, &b );

    printf( "a = %d, b = %d\n", a, b );

    return 0;
}

例如,如果输入两个值 2010 那么输出将如下所示

a = 30, b = 10

请注意函数中对 printf 的这些调用

printf("",sum);

printf("",sub);

没有意义。

关于c - 如何在函数中传递指针作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57889701/

相关文章:

c - 理解 crypt() 在 MD5 情况下的输出

创建文件和读取文件

php - 更改 array_walk 函数中的数组键?

c - C 中的负数组索引

c++ - 在 C++ 中,传递指针仍然复制对象?

c - 如何更改存储在内存地址的值

c - 解决 yacc 冲突 - 由于冲突规则在解析器中无用

c - SQL Server 2005与VC++的连接(代码)

python - 将单独的参数或整个对象传递给函数

c - 在函数内部使用指针时出错