简单C测试程序出现段错误,求指教
#include <stdio.h>#include <string.h>#include <assert.h>int main(int argc, char *argv[]){ char *str; scanf("%s",str); //assert(argv[1] != NULL); int len = strlen(str); //int len = strlen(argv[1]); char array[len+1]; int i; for(i = 0; str[i] != '\0'; i++) { array[i] = str[i]; //array[i] = argv[1][i]; } array[len] = '\0'; printf("%s\n",array); return 0;}#include <stdio.h>#include <stdlib.h>#include <string.h>int main( ){ char str[30]; scanf("%s",str); int len = strlen(str); char *array=(char *)malloc(len+1); int i; for(i = 0; str[i] != '\0'; i++) { array[i] = str[i]; } array[len] = '\0'; printf("%s\n",array); free(array); system("pause"); return 0;}