自学小白在做习题时遇到不明白的问题,求大神解释下
不明白p[i]的值为什么一跳出循环就全部变成p[99]的值
程序代码:#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
int main(int argc , char *argv[])
{
int buf[100];
char dst[5];
char *p[100];
srand(time(NULL));
int i = 0;
int n = sizeof(buf)/sizeof(buf[0]);
//打开文件
FILE *fp = NULL;
fp = fopen("aa.txt","w");
if(fp == NULL)
{
perror("fopen");
return 0;
}
for(i = 0;i < n;i++)
{
buf[i] = (rand()%100)+1;
sprintf(dst,"%d\n",buf[i]);
p[i] = dst;
printf("p[%d] = %s",i,p[i]);
}
printf("p[98] = %s",p[98]);
//写入内容
i = 0;
while(i < 100)
{
fputs(p[i],fp);
i++;
}
//关闭文件
fclose(fp);
fp = NULL;
return 0;
}
[此贴子已经被作者于2018-1-15 21:34编辑过]







