青灯古佛 发表于 2016-4-11 10:56:52

读入第一个单词


鱼C论坛版主招聘#include <stdio.h>
char* readfirstword(char *str,char *str2);
void main()
{
      int n;
      char str;
      char str2;
      puts("Please input some chars(no more than 100):");
      gets(str);
      readfirstword(str,str2);
      puts(str2);
}
char* readfirstword(char*str,char*str2)
{
      int i=0;
      for (i=0;i<100;i++)
      {
                if((str!='\n')&&(str!=' '))
                        str2=str;
                else
                        str2='NULL';
                        break;
      }
      return str2;
}

mingcxx 发表于 2016-4-11 11:58:27

else
{
      str2='\0';
         break;
}
主要是漏了else分支的花括号,导致”break;“落在if_else语句的下一句,循环执行一次,只拷贝一个字符
另外,注意空字符的写法0或'\0',就OK了
页: [1]
查看完整版本: 读入第一个单词