自学小白在做习题时遇到不明白的问题,求大神解释下
不明白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编辑过]