|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我使用的是Ubuntu22.04的虚拟机,我最开始抄的时候是和小甲鱼的一模一样,但是后面运行的时候就报错了,让我把每一个“%d”修改为“%ld”,然后我修改了之后又运行了一下,发现还是又一处错误,就是最后面的那个“return”,系统显示的是:“expected declaration or statement at end of imput",并且同一个视频的6分10秒的那个代码抄出来的问题和4分53秒的那个代码一样,都是报的最后的那个”return",有大佬能告诉我一下这到底是怎么回事吗?
问题描述里面没有提到具体的代码,所以我可能不能提供关于你遇到问题的精确的解决方法。但是,根据你提供的错误信息,我可以给你提供一些可能的解决思路。
错误提示 "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;}
如果你能提供你的代码片段,我可能会更好地帮助你找到问题的解决方案。
|
|