1

我正在做一个 IF 语句,如果插入的数字以零结尾,我希望发生一些事情。以下不起作用:

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

int main()
{
    int year;

    printf("Skriv in ditt födelseår\n");
    scanf("%d", &year); printf("Du är %d", 2013 - year); printf(" år gammal");

    if ( 2013 - year.endsWith('0') ) {
        printf("Grattis, du fyller jämnt iår!\n");
    }



    return 0;

}

所以,如果 2003 年的结果(年份由用户输入)以零结尾,我想打印一些东西。我如何使它工作?

4

2 回答 2

9

看看结果是否可以被除以10没有余数:

if ( ( 2013 - year ) % 10 == 0 ) {
    printf("Grattis, du fyller jämnt iår!\n");
}
于 2013-11-18T10:41:44.950 回答
0

您正在从控制台输入中读取年份,并且如果输入以 0 结尾,您想要一些东西,而不是您不应该测试(2013 年)。假设您输入 2013(不以 0 结尾)

if ( 2013 - year.endsWith('0') ) {
        printf("Grattis, du fyller jämnt iår!\n");
    }

将打印您在其中的消息。因为您正在测试年份之间的差异。

我认为您需要将条件重写为

if (year.endsWith('0') ) {
           printf("Grattis, du fyller jämnt iår!\n");
    }

或者

if ( year  % 10 == 0 ) {
    printf("Grattis, du fyller jämnt iår!\n");
}

无论您喜欢哪个。我看不出从 2013 年减去年份的意义。

于 2013-11-18T13:25:25.693 回答