不考虑vs2019不支持scanf和a【n】
这个逻辑有问题吗,为啥不能执行
scanf("%d",&n+1);这里有问题,你要输入一个数到n。你这里没输入到n里面,是输入到n后面那个地址里面了,是无效指针。看上面定义,应该是把m的内存踩了。
正确的是这样scanf("%d",&n);
n没有被赋值
这种定义类一定要有明确的值,n编译阶段找不到值,不能说中途去这样申请内存,如果要的话将int a[n+1]改成int *a = malloc(sizeof(n+1)),或者new一个。
1、&n指向的是地址,在n是int型&n+1算是地址移4位,最好不要在scanf函数中输入&n+1
2、a[n+1]里的n+1只能是常量或常量表达式,如果需要动态设定数组大小,可以使用int *a;a=(int )malloc(nsizeof(int));