| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9629 人关注过本帖
标题:为什么在visual studio2015中一运行就提示已停止工作
只看楼主 加入收藏
carthy
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-6-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
为什么在visual studio2015中一运行就提示已停止工作
#include<stdio.h>

struct carthy
{
    char name[10];
    char shape[10];
    char color[10];
    int price;
    char area[20];
};

int main()
{
    struct carthy carthy1;

    scanf_s("%s", &carthy1.name);
    scanf_s("%s", &carthy1.shape);
    scanf_s("%s", &carthy1.color);
    scanf_s("%d", &carthy1.price);
    scanf_s("%s", &carthy1.area);

    printf("%s %s %s %d %s", carthy1.name, carthy1.shape, carthy1.color, carthy1.price, carthy1.area);

    return  0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: include visual return color price 
2016-08-11 11:07
carthy
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-6-17
收藏
得分:0 
一般出现这种情况原因在什么地方?
2016-08-11 11:08
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:10 
你既然用scanf_s这玩意,又不看scanf_s的说明
2016-08-11 11:09
carthy
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-6-17
收藏
得分:0 
明白了 谢谢
2016-08-11 11:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
随便举个例子
scanf_s("%s", &carthy1.name);
首先,这里不应该加取地址符号吧(假如你说加了也不出错,那就当我没说过)
其次,按MSDN所言,其后应当接允许接收的最大数量,包括终止NULL,类型为unsigned,而非size_t
也就是 scanf_s( "%s", carthy1.name,(unsigned)sizeof(carthy1.name)/sizeof(carthy1.name[0]) );
但如果按MS强塞进C标准的说法,此地类型为rsize_t
也就是 scanf_s( "%s", carthy1.name,(rsize_t)sizeof(carthy1.name)/sizeof(carthy1.name[0]) );
2016-08-11 11:24
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:10 
就用scanf就可以了,真是服了你了

我不是砖家,要努力成为砖家。
2016-08-11 11:34
快速回复:为什么在visual studio2015中一运行就提示已停止工作
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018141 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved