如何在C中获取计算的最后一个字符?

时间:2013-11-18 10:40:02

标签: c ends-with

我正在制作一个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年的结果 - 年(用户输入的年份)以零结尾,我想打印一些东西。我如何使它工作?

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分: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");
    }

OR

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

无论你喜欢什么。我没有看到从2013年减去年份的重点。