“int”到“int *”类型的无效操作数到二元“运算符*”

时间:2015-05-12 07:06:17

标签: c

我正在研究一个交换两个整数变量的程序。当我编译时,我得到一个错误

  

'int'到'int *'类型的无效操作数到二进制'operator *'

第30行(最后一行)。

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

void swap_2(int *x, int *y);

int main(void)
{
    int i1, i2;

    printf("Enter two integers\n");
    scanf("%d %d", &i1, &i2);
    printf("i1 = %d\n", i1);
    printf("i2 = %d\n", i2);

    printf("Swap integers\n");
    swap_2(&i1, &i2);
    printf("i1 = %d\n", i1);
    printf("i2 = %d\n", i2);

    system("PAUSE");
    return 0;
}

void swap_2(int *x, int *y)
{
    int temp;

    temp = *x;
    *x = *y
    *y = temp;      **//LINE 30**
}

2 个答案:

答案 0 :(得分:4)

你在第29行丢失了一个分号。

void swap_2(int *x, int *y)
{
    int temp;

    temp = *x;
    *x = *y  <----------- missing semicolon
    *y = temp;      **//LINE 30**
}

答案 1 :(得分:1)

void swap_2(int *x, int *y)
{
    int temp;

    temp = *x;
    *x = *y
    *y = temp;      **//LINE 30**
}

第29行&#34;

末尾有一个缺少的冒号

尝试:

*x = *y;