鱼C论坛

 找回密码
 立即注册
查看: 6553|回复: 24

[已解决]为啥dev-c++可以正常编译的程序到了vs里面就报错了?

[复制链接]
发表于 2022-4-20 15:56:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
图1到图3是vs报的错误,图4是dev-c++的正常运行
最佳答案
2022-4-21 15:03:02
1613551 发表于 2022-4-21 11:03
这是新的问题....
下面是代码

上面的代码我在vscode跑了,没发现问题。
没有语法错误,你看看是不是跑错执行文件了。
uTools_1650441206430.png
uTools_1650441188000.png
uTools_1650441277982.png
uTools_1650441264772.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-20 17:46:03 | 显示全部楼层
主函数末尾的花括号漏掉了吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-20 17:51:31 | 显示全部楼层
henkuderen 发表于 2022-4-20 17:46
主函数末尾的花括号漏掉了吧。

我检查了一下,并没有呀,说是scanf的返回值被忽略
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-20 17:53:15 | 显示全部楼层
henkuderen 发表于 2022-4-20 17:46
主函数末尾的花括号漏掉了吧。

好像全部程序都不行,都是说scanf的值返回值被忽略
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-20 17:57:43 | 显示全部楼层
henkuderen 发表于 2022-4-20 17:46
主函数末尾的花括号漏掉了吧。

我看别人说是要加上这一串代码才行,不然scanf会报错,但是我加上了好像也没用#define _CRT_SECURE_NO_WARNINGS
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-20 18:50:00 | 显示全部楼层
1613551 发表于 2022-4-20 17:57
我看别人说是要加上这一串代码才行,不然scanf会报错,但是我加上了好像也没用#define _CRT_SECURE_NO_WA ...

vs里面的scanf函数好像是scanf_s这个格式,可以试试,我也不确定对不对哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-21 09:03:15 | 显示全部楼层
你都会更复杂的贴图了,为什么不直接更简单直接地把你的代码贴出来呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-4-21 09:31:19 | 显示全部楼层
返回值被忽略你就搞两个变量放上去装返回值试试嘛。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-21 10:16:42 From FishC Mobile | 显示全部楼层
这个可以解决的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-21 10:33:56 | 显示全部楼层
scanf_s
防止溢出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-21 10:57:11 | 显示全部楼层
henkuderen 发表于 2022-4-21 09:03
你都会更复杂的贴图了,为什么不直接更简单直接地把你的代码贴出来呢。

不好意思,忘记把代码弄出来了
#include <stdio.h>
int main() {
        int a, b, c;
        int d, e, f;
        int h = 0;

        printf("请输入你的生日(如果1988-05-20):");
        scanf_s("%d-%d-%d", &a, &b, &c);
        printf("请输入今年的日期(如2016-03-28):");
        scanf_s("%d-%d-%d", &d, &e, &f);

        for (; a <= d; a++) {
                int g[12] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

                g[1] = (a % 400 == 0 || (a % 4 == 0 & a % 100 == 0))? 29 : 28;

                for (; b <= 12; b++) {
                        for (; c <= g[b - 1]; c++) {
                                if (a == d && b == e && c == f) {
                                        goto result;

                                }
                                h++;

                        }


                        c = 1;

                }





                b = 1;

        }
result:
        printf("你在这个世界上总共生存了%d天\n", h);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-21 10:57:47 | 显示全部楼层

这个确实解决了scanf的问题了..结果又出现了新的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-21 10:59:04 | 显示全部楼层
Z244439775 发表于 2022-4-20 18:50
vs里面的scanf函数好像是scanf_s这个格式,可以试试,我也不确定对不对哈哈

诶,难道你们都不是用vs的吗,我说听别人说dev c++太简陋了,才用vs的,然后确实是用scanf_s这个格式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-21 10:59:41 | 显示全部楼层
FK二十一 发表于 2022-4-21 09:31
返回值被忽略你就搞两个变量放上去装返回值试试嘛。

可是什么是返回值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-21 11:01:51 | 显示全部楼层

解决了这个又有新问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-21 11:03:45 | 显示全部楼层
这是新的问题....
下面是代码
#include <stdio.h>
int main() {
        int a, b, c;
        int d, e, f;
        int h = 0;

        printf("请输入你的生日(如果1988-05-20):");
        scanf_s("%d-%d-%d", &a, &b, &c);
        printf("请输入今年的日期(如2016-03-28):");
        scanf_s("%d-%d-%d", &d, &e, &f);

        for (; a <= d; a++) {
                int g[12] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

                g[1] = (a % 400 == 0 || (a % 4 == 0 & a % 100 == 0))? 29 : 28;

                for (; b <= 12; b++) {
                        for (; c <= g[b - 1]; c++) {
                                if (a == d && b == e && c == f) {
                                        goto result;

                                }
                                h++;

                        }


                        c = 1;

                }





                b = 1;

        }
result:
        printf("你在这个世界上总共生存了%d天\n", h);
        return 0;
}
uTools_1650510152877.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-21 15:03:02 | 显示全部楼层    本楼为最佳答案   
1613551 发表于 2022-4-21 11:03
这是新的问题....
下面是代码

上面的代码我在vscode跑了,没发现问题。
没有语法错误,你看看是不是跑错执行文件了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-21 15:12:20 | 显示全部楼层
FK二十一 发表于 2022-4-21 15:03
上面的代码我在vscode跑了,没发现问题。
没有语法错误,你看看是不是跑错执行文件了。

我也可以了,不知道是什么问题,我把那个文件删了,又新建了一个就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-21 15:40:31 | 显示全部楼层
1613551 发表于 2022-4-21 15:12
我也可以了,不知道是什么问题,我把那个文件删了,又新建了一个就可以了

执行文件用的原来的,不就相当于没改嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-21 17:35:12 | 显示全部楼层
1613551 发表于 2022-4-21 10:59
诶,难道你们都不是用vs的吗,我说听别人说dev c++太简陋了,才用vs的,然后确实是用scanf_s这个格式

用vscode,更复杂的项目用clion,vs太大了太重了,各种功能眼花缭乱的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 20:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表