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
这是华为机试的字符串处理题,要求输出字符串中最后一个单词的长度
本文详细介绍了如何使用C语言的scanf函数和字符串处理技巧,通过`%[^
]`匹配非换行符,从输入的带空格字符串中找到并计算最后一个单词的长度。实例演示了在华为机试中的应用,适合后端开发者和面试准备者参考。
1582

被折叠的 条评论
为什么被折叠?



