不清楚哪里出错了运行不了

img


请问为什么我的运行不了,出错了

img


过程是输入结婚时的年份,计算出已经结婚了多少年

估计是你的减号用了中文全角的,而不是英文半角的。
结婚那行的逗号,也是类似问题

img


还有建议你直接在printf打印年份差

img

仔细检查第9 10 两行的标点符号括号等,用了中文的符号。

【以下回答由 GPT 生成】

问题可能出现在输入时,scanf函数的使用上。首先,我们需要判断输入是否成功。其次,对于输入的年份,我们需要确保其逻辑正确性。以下是改进后的代码示例:

#include <stdio.h>

int main() {
    int year;
    int age;

    printf("请输入结婚年份:");
    if (scanf("%d", &year) != 1 || year > 2023) {
        printf("输入无效!\n");
        return 1;
    }

    age = 2023 - year;
    printf("已结婚%d年\n", age);

    return 0;
}

在改进的代码中,我们首先通过判断scanf函数的返回值来确定输入是否成功。如果scanf返回的值不是1,说明输入的格式不正确,即输入的不是一个整数,此时我们输出"输入无效!"并返回1表示程序异常结束。另外,我们增加了对年份的合法性判断,如果年份大于当前年份(2023),则也会输出"输入无效!"并返回1。最后,使用\n换行符来使输出更清晰易读。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^