要读的文档:
4
asd
fdas
geqr
trew
第一行的数字代表了有多少个单词,每行只有一个单词,要读取然后显示在c里面,
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
*
*/
char **readWords(int *nPtr);
int main(int argc, char** argv) {
int *k;
readWords(k);
return (EXIT_SUCCESS);
}
char **readWords(int *nPtr){
FILE*input_file=fopen("input.txt","r");
int n;
fscanf(input_file,"%d",&n);
*nPtr=n;
char**str;
str=malloc(n*sizeof(char*));
char x;
int i,len;
for (i=0;i<n;i++){
fscanf(input_file,"%s",&x);
len = strlen(x);
str[i]=malloc(len*sizeof(char));
str[i]=x;
printf("%s",str[i]);
}
}
这是我的code,不知道为什么不能运行,求高人指点
你的代码太繁琐,已经帮你改正了。
#include <stdio.h>这是我的写法。如果要封装成函数,只要把定义变长数组的代码换成malloc就可以了。
追问不是啊,,我这题要求我那个function的原型不能改啊。。。。你这改得太厉害了= =
追答上面的第一个代码是直接修改好了的....Mingw3.4.5编译无错
你这个code我运行不了啊。。
追答不会是头文件你没加吧。。。
完全一样啊,,,我这里就run fail了,那3个include我都写了,太长截不了图
编译无误运行错误是吧。
几个fscanf里面的\n都去掉试试。不同编译器对这个处理不同。
如果还是有问题只能单步调试看看了,运行错误可能的原因有些无法单纯分析出来,VC6运行无误。