w陌上尘 发表于 2023-7-19 00:39:25

带你学C带你飞讲解数据类型那一节课4分53秒的代码如何才能正确运行?

我使用的是Ubuntu22.04的虚拟机,我最开始抄的时候是和小甲鱼的一模一样,但是后面运行的时候就报错了,让我把每一个“%d”修改为“%ld”,然后我修改了之后又运行了一下,发现还是又一处错误,就是最后面的那个“return”,系统显示的是:“expected declaration or statement at end of imput",并且同一个视频的6分10秒的那个代码抄出来的问题和4分53秒的那个代码一样,都是报的最后的那个”return",有大佬能告诉我一下这到底是怎么回事吗?

isdkz 发表于 2023-7-19 00:39:56

问题描述里面没有提到具体的代码,所以我可能不能提供关于你遇到问题的精确的解决方法。但是,根据你提供的错误信息,我可以给你提供一些可能的解决思路。

错误提示 "expected declaration or statement at end of input" 通常意味着你的代码缺少了一些结束的标记,例如缺少了一个}来结束一个函数或者一个 if 语句,或者在函数内部缺少了一条 return 语句。

对于 "%d" 和 "%ld" 的问题,它们是用于 printf 和 scanf 这类函数的格式说明符。"%d" 用于 int 类型,而 "%ld" 用于 long int 类型。所以,如果你的代码里有一个 long int 类型的变量,而你用了 "%d" 来尝试打印它,编译器就会给出警告或错误。

这里是一个示例,可能会帮助你理解这个问题:

#include <stdio.h>

int main() {
    int a = 10;
    long int b = 1000000000;
    printf("a: %d\n", a); // 这里是正确的,因为 a 是 int 类型
    printf("b: %ld\n", b); // 这里也是正确的,因为 b 是 long int 类型
    // printf("b: %d\n", b); // 如果你这样写,编译器会给出警告或错误,因为 b 是 long int 类型,而 %d 是用于 int 类型
    return 0;
}


如果你能提供你的代码片段,我可能会更好地帮助你找到问题的解决方案。
页: [1]
查看完整版本: 带你学C带你飞讲解数据类型那一节课4分53秒的代码如何才能正确运行?