0

我的程序有一个非常奇怪的问题,希望您能提供帮助。我有一对非常基本的功能。一个调用另一个并需要返回 int。

由于完全未知的原因,如果将变量的返回值分配给变量,即使条件为真,第一个函数也无法打印出匹配项,即:

功能一:

int function1(int posX, int posY){
    int x=1;
    int y=1;
    if (posX == X && posY == Y){        
        printf("Match");
        return 1;
    }
}

功能二:

int i = function1(1, 1);

是否有效:

function1(1,1);

所以为了澄清,我说如果我收到“匹配”消息,它就可以工作。

4

1 回答 1

2
(posX == X && posY == Y)

C/C++区分大小写。“X”和“Y”分别代表什么?

也许尝试将它们更改为小写?

return此外,即使没有匹配项,也要始终尝试一个值(该函数function1应该返回一个int值,对吗?)


代码:(更正)

int function1(int posX, int posY){
    int x=1;
    int y=1;

    if ((posX == x) && (posY == y)){     
        printf("Match");
        return 1;
    }

    return 0;
}
于 2012-04-09T01:04:51.583 回答