|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 小迪 于 2017-8-31 10:54 编辑
刚开始我是拒绝的,因为VS2013不支持
具体的原因,我也不知道,应该是不支持C99,好吧。。。。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
// c99标准支持动态数组
int main()
{
int n ;
printf("请输入字符的个数:");
scanf("%d", &n);
char a[n + 1];
printf("请开始输入字符:");
getchar();
for (int i = 0; i < n; i++)
{
scanf("%c", &a[i]);
}
a[n] = '\0';
printf("你输入的字符串是:%s", a);
return 0;
}
还有一个就是数组的越界问题:
VS2013中C不支持坐标越界,也就是说并没有越界保护机制,直接会报错。
int main()
{
int a[10];
for (int i = 0; i <= 10; i++)
{
a[i] = i;
}
for (int i = 0; i < 10; i++)
{
printf("%d\n", a[i]);
}
return 0;
}
这个是根据编译器来的,编译器想干啥就干啥,估计VS2013的编译器比较想让我们查BUG把
就到这吧
|
评分
-
查看全部评分
|