C 为什么不是';我的代码没有运行吗?

C 为什么不是';我的代码没有运行吗?,c,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 gonn

我对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;
}
#定义尿73
#包括
INTA、b、c;
国际货币基金组织(国际货币基金组织,国际货币基金组织,国际货币基金组织);
内部主(空)
{
放置(“你的年龄”);
//获取int'a'
scanf_s(“%d”和“&a”);
内特基尔梅请;
printf(“你将在%d年内死去”,b);
getchar();
返回0;
}
请输入killmeplease(输入a、输入b、输入c)
{
尿-a=b;
返回0;
}
不要妄下判断。 不确定这是否只是我遗漏了什么,但不管怎样,它都不允许代码运行。
我可能把它放错标签了,但如果你能帮忙的话,那就太好了。

虽然
73
听起来有点早,但你可以这样实现它:)

#定义尿73
#包括
国际货币基金组织(国际货币基金组织);
内部主(空)
{
INTA,b;
放置(“你的年龄”);
scanf_s(“%d”和“&a”);
b=基尔梅(a);
printf(“你将在%d年内死去”,b);
getchar();
返回0;
}
内特基尔梅请(内特a)
{
返回尿-a;
}
该函数根据输入
a
返回值。您还可以向它传递另一个指针并存储它的返回值


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

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

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 */

只是一个想法

预处理后,这个
PISS-a=b
73-a=b无效。它应该做什么?你已经被告知了。你认为这条线是什么应该做什么?@13x它应该把用户的年龄从73岁中减去,看看他们还剩下多少岁。谢谢,它成功了。但我记得我用了不同的方法,但这是有效的,有多种方法。但这可能是最简单的方法。你也可以这样做:
killmeplease(a,&b)*b=PISS-a,并适当更改函数原型和调用。
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 */