为什么我的代码不运行?

时间:2016-01-31 04:55:46

标签: c

我对C很新,但我需要帮助

#define PISS 73
#include <stdio.h>
int a, b, c;
int killmeplease(int a, int b, int c);
int main(void)
{
    puts("WHATS YOUR AGE");
    //Gets int 'a'
    scanf_s("%d", &a);
    int killmeplease;
        printf("Youre gonna die in %d years", b);
        getchar();
        return 0;


}
int killmeplease(int a, int b, int c)
{
    PISS - a = b;
    return 0;
}

不要判断。 不确定这是否只是我错过的东西,但不管它是不是让代码运行。 我可能把它放在了错误的选项卡中,但是如果你可以帮助那么好。

2 个答案:

答案 0 :(得分:2)

虽然73听起来有点早,但这就是你实现它的方法:)

#define PISS 73
#include <stdio.h>
int killmeplease(int a);

int main(void)
{
    int a,b;
    puts("WHATS YOUR AGE");
    scanf_s("%d", &a);
    b=killmeplease(a);
    printf("Youre gonna die in %d years", b);
    getchar();
    return 0;
}
int killmeplease(int a)
{
    return PISS - a;
}

该函数根据输入a返回值。您还可以传递另一个指针并存储它的返回值。

您还应该检查scanf_s()的返回值是否失败。

答案 1 :(得分:1)

或许我们可以用合理的名称编写函数和变量,然后错误可能更明显:

void yearsOfLifeLeft ( int lifeExpectancy, int currentAge, int * yearsLeftPtr ) {
    *yearsLeftPtr = lifeExpectancy - currentAge;
}
...

yearsOfLifeLeft(PISS, a, &b);      /* 'a' and 'b' are names which are not good */
                                   /* and PISS is just childish */

只是一个想法......