鱼C论坛

 找回密码
 立即注册
查看: 1819|回复: 8

[已解决]好兄弟们,急救急救。

[复制链接]
发表于 2020-11-28 10:51:18 | 显示全部楼层 |阅读模式

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

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

x
我使用的是vs2015编译软件,今天学习编写时,代码如下:
#include <stdio.h>
#define PRAISE "You are an extraordinary being."
int main(void)
{
        char name[40];

        printf("What`s your name?\n");
        scanf_s("%s", name);
        printf("Hellow,%s. %s\n", name, PRAISE);

        return 0;
}

这个是新的一章的内容,我写完后调试程序,但是显示访问冲突:
“73页案例.exe”(Win32): 已加载“C:\Windows\SysWOW64\vcruntime140d.dll”。无法查找或打开 PDB 文件。
0x7C520B5C (ucrtbased.dll)处(位于 73页案例.exe 中)引发的异常: 0xC0000005: 写入位置 0x00D00000 时发生访问冲突。

0xFEFEFEFE 处有未经处理的异常(在 73页案例.exe 中): 0xC00001A5: 检测到无效的异常处理程序例程。 (参数: 0x00000003)。

程序“[764] 73页案例.exe”已退出,返回值为 0 (0x0)。


请问具体该怎么处理,求大佬指导,谢谢。
最佳答案
2020-11-28 16:27:00
#include <stdio.h>
#define PRAISE "You are an extraordinary being."
int main(void)
{
        char name[40];

        printf("What`s your name?\n");
        scanf_s("%s",name,20);            // 若名字长,将20再改大哟
        printf("Hellow,%s. %s\n", name, PRAISE);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-28 12:26:10 | 显示全部楼层
这样试试
#include <stdio.h>
#define PRAISE "You are an extraordinary being."
int main(void)
{
        char name[40];

        printf("What`s your name?\n");
        scanf("%s", name);
        printf("Hellow,%s. %s\n", name, PRAISE);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-28 15:58:33 | 显示全部楼层

还是不可以,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-28 16:27:00 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
#define PRAISE "You are an extraordinary being."
int main(void)
{
        char name[40];

        printf("What`s your name?\n");
        scanf_s("%s",name,20);            // 若名字长,将20再改大哟
        printf("Hellow,%s. %s\n", name, PRAISE);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-28 16:49:29 | 显示全部楼层

这个是对的,但是为什么会这样呀,我上一个练习的代码也是这样的错误,但是我不知道怎么搞的,网上说要怎么怎么操作,但是我看不懂那些,你这个和书本上的不一样,改的东西是什么原理呢???谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-28 16:55:01 | 显示全部楼层
353500315 发表于 2020-11-28 16:49
这个是对的,但是为什么会这样呀,我上一个练习的代码也是这样的错误,但是我不知道怎么搞的,网上说要怎 ...

scanf_s,有时要求给出接收个数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-28 17:24:21 | 显示全部楼层
风过无痕1989 发表于 2020-11-28 16:55
scanf_s,有时要求给出接收个数

大佬,我是调试程序的时候说访问冲突,scanf_s我之前已经打上去了,但是调试的时候还是有问题,不论是这个题,还是上个案例,都是这种情况。

#include <stdio.h>
#include <string.h>
#define DENSITY 62.4
int main()
{
        float weight, volume;
        int size, letters;
        char name[40];

        printf("Hi!What`s your first name?\n");
        scanf_s("%s", name);
        printf("%s,what`s your weight in pounds.\n", name);
        scanf_s("%f", &weight);
        size = sizeof name;
        letters = strlen(name);
        volume = weight / DENSITY;
        printf("Well,%s,you volume is %2.2f cubic feet.\n", name, volume);
        printf("Also,your first name has %d letters,\n", letters);
        printf("and we have %d bytes to store it.\n", size);

        return 0;
}


这是上个程序,调试后也是这样的情况。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-28 17:38:00 | 显示全部楼层
353500315 发表于 2020-11-28 17:24
大佬,我是调试程序的时候说访问冲突,scanf_s我之前已经打上去了,但是调试的时候还是有问题,不论是这 ...

加上那个20就没有问题了
DT.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-28 17:38:46 | 显示全部楼层
本帖最后由 353500315 于 2020-11-28 17:44 编辑
风过无痕1989 发表于 2020-11-28 17:38
加上那个20就没有问题了


那这个20是什么意思呀???

而且,:
#include <stdio.h>
#include <string.h>
#define DENSITY 62.4
int main()
{
        float weight, volume;
        int size, letters;
        char name[40];

        printf("Hi!What`s your first name?\n");
        scanf_s("%s", name,20);
        printf("%s,what`s your weight in pounds.\n", name);
        scanf_s("%f", &weight);
        size = sizeof name;
        letters = strlen(name);
        volume = weight / DENSITY;
        printf("Well,%s,you volume is %2.2f cubic feet.\n", name, volume);
        printf("Also,your first name has %d letters,\n", letters);
        printf("and we have %d bytes to store it.\n", size);

        return 0;
}



我已经加上了,但是还是不行,不知道为什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 21:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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