2015-05-12 169 views
-3

我正在處理交換兩個整數變量的程序。當我編譯我得到一個錯誤類型「詮釋」的類型'int'到'int *'的無效操作數到二進制'操作符*'

無效操作數「詮釋*」二進制「符*」

上線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** 
} 
+4

檢查缺少的分號... –

+0

你甚至知道如何ead編譯器輸出? – karim

回答

3

你缺少一個分號上線29

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

    temp = *x; 
    *x = *y <----------- missing semicolon 
    *y = temp;  **//LINE 30** 
} 
1
void swap_2(int *x, int *y) 
{ 
    int temp; 

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

你必須要在第29" 行

嘗試月底缺少冒號:

*x = *y; 
+0

這很令人尷尬,可以減少這個問題嗎? – Jacob

相關問題