关于 vs 与 clion 的编译问题

2016-10-24 19:16:36 +08:00
 c941968215
include <stdio.h>
#include <string.h>
#define PRAISE "You are an extraordinary being."
int main()
{
	char name[40];

	printf("What's your name? ");
	scanf_s("%s", name);
	printf("Hello, %s. %s\n", name, PRAISE);
	printf("Your name of %lu letters occupies %lu memory cells. \n", strlen(name), sizeof name);
	printf("The phrase of praise has %lu letters ", strlen(PRAISE));
	printf("and occupies %lu memory cells. \n", sizeof PRAISE);

	return 0;
}

在 vs 中会崩溃, clion 中就不会, 请问原因是什么, %lu 替换过%zd, %u, 都会崩溃

3305 次点击
所在节点    问与答
2 条回复
acros
2016-10-24 19:23:27 +08:00
char name[40];
"Your name of %lu letters occupies %lu memory cells. \n"
acros
2016-10-24 19:29:56 +08:00
抽筋手。
我的 vs2013 编译能通过啊。
不过 scanf_s("%s", name);这行读的是空的,不指定长度默认是多少我也不知道····

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/315110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX