1.读入带空格的字符串
scanf("%[^\n]", &string);
[]内是匹配的字符,^表示求反集。该语句表示只要不是回车,就读入
示例:
#include <stdio.h>
int main(void)
{
char* p = (char*)calloc(1,5000);
if(!p)
return -1;
if(scanf("%[^\n]",p)>0)
{
//printf("%s\n",p);
char* t1 = NULL,tmp;
char c = ' ';
while(t1 = strchr(p,c))
{
p = t1+1;
}
printf("%d\n",strlen(p));
}
}
输入:hello nowcoder
输出:8
这是华为机试的字符串处理题,要求输出字符串中最后一个单词的长度