for(i=0i<10i++)
scanf("%d",&a[i])
如果你想输入一个数,就显示一边a[i]和c的值,就在c=c+a[i]前面加上一句scanf("%d",&a[i])
//使用动态分配#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int i,L
char *p
void main() {
for (i=0i<20000i++) {
L=rand()
p=malloc(L)
if (NULL==p) {
printf("malloc error!\n")
continue
}
memset(p,0,L)
free(p)
}
}
//不使用动态分配
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#define MAXLEN 30000
int i,L
char buf[MAXLEN]
char *p
void main() {
p=&buf[0]
for (i=0i<20000i++) {
L=rand()
if (L>MAXLEN) {
printf("L>MAXLEN==%d, ignore spilth.\n",MAXLEN)
L=MAXLEN
}
memset(p,0,L)
}
}
数组超限?所有类似下面的代码for(j=1j<=5j++)
scanf("%d",&a[j])
改为下面代码
for(j=0j<4j++)
scanf("%d",&a[j])
printf也只从c[0]~c[4],不应是c[1]~c[5],d数组也是一样。
你可以找本书再看看数组的定义和使用,比较好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)