问题描述
- C语言利用指针来存输入的字符串的问题
-
这个函数是可以得到str的: #include <ctype.h> char * getword(char * str) { int i; int ch; while ((ch = getchar()) != EOF && !isspace(ch)) *str++ = ch; *str = ''; if (ch == EOF) return NULL; else { while (ch != ' ') ch = getchar(); return str; } }
但是把上面的单独拿出来就不能用的,如果定义str是数组,然后ch一个个存进去又是可以实现:
#include
int main(void)
{
char * str;
char * tmp;
int chi;tmp = str; while ((ch = getchar()) != EOF && ch != ' ') *str++ = ch; *str = ''; puts(tmp); return 0; }
解决方案
关键词——函数中参数的释放
解决方案二:
C语言中关于字符串的输入问题
解决方案三:
因为你第一个返回的是指向字符串的最后一个字符的指针,所以根本没用
时间: 2024-08-30 15:19:08