onepic 2024-11-25 15:16 采纳率: 88.9%
浏览 11
已结题

数组赋值后循环打印只有一次正确后面值出错

#include<stdio.h>
#include<stdlib.h>

int* getNumbers(int start,int end,int num){
    int a[num];
    srand(time(0));
    for(int i=0;i<num;i++){
        a[i]=start+rand()%(end-start);
       printf(">>%d\n",a[i]);
    }
    return a;
}
int main()
{   
    int num=20;
    int *a;
    a=getNumbers(0,100,num);
    for(int i=0;i<num;i++){
        printf("%d:  %d,\n",i,a[i]);//这里循环打印只有第一次正确,后面就乱了
    }
    printf("%d",a[3]);//直接用数字可以打印出来,但只能输出一次正确的,在输出就错了

}
  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月25日