我正在尝试编写 3 个函数: 第一个:“read_comp”初始化一个 char 指针并为其分配“readAndRemove”返回的函数。readAndRemove 从用户读取的行并删除字符串之前的所有空格,并返回指向字符串的指针,开头没有空格。然后“read_comp”打印“readAndRemove”得到的字符串——没有空格的字符串。
最后一个函数 - 我有问题的那个...... 函数“findComplex”:我试图这个函数做的只是获取char指针并打印函数得到的字符串。
void read_comp(void)
{
char *str = readAndRemove();
printf("%s\n",str);
findComplex(&str);
}
-------------
char * readAndRemove() /**function to read rest of input and remove first space**/
{
char tempChar[30];
fgets(tempChar,30,stdin);
char* ptr = strtok(tempChar, " ");
return ptr;
}
--------------
void findComplex(char* str)
{
printf("in findComplex:%s\n",str);
}
(对不起,如果开始无关紧要,但我认为我做所有事情的方式可能有问题......)
所以我试图修复和改变一些事情: 改变这个:define char *str; 作为全局参数并更改功能:
void read_comp(void)
{
*str = readAndRemove();
printf("%s\n",str);
findComplex(str);
}
char * readAndRemove() /**function to read rest of input and remove first space**/
{
char tempChar[30];
fgets(tempChar,30,stdin);
char* ptr = strtok(tempChar, " ");
return ptr;
}
void findComplex(char* str)
{
printf("%s\n",str);
printf("in findComplex:%s\n",str);
}