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, 都会崩溃
![]() | 1 acros 2016-10-24 19:23:27 +08:00 char name[40]; "Your name of %lu letters occupies %lu memory cells. \n" |
![]() | 2 acros 2016-10-24 19:29:56 +08:00 抽筋手。 我的 vs2013 编译能通过啊。 不过 scanf_s("%s", name);这行读的是空的,不指定长度默认是多少我也不知道 |