题目
字符串指针:找第一个空格位置
思路
本题在字符串中找第一个空格的位置(下标)。
用指针 p 从串首往后走,直到遇到空格或 ' ';若找到空格,输出下标 p - s,否则按题面表示「没有空格」。
解题分析
指针遍历直到空格或换行,返回偏移量。fgets 读入时行尾带 \n,找空格要在 \n 之前停。
完整程序
#include <stdio.h>
int main(void)
{
char line[1000];
if (!fgets(line, sizeof line, stdin)) {
return 1;
}
const char *p = line;
while (*p && *p != ' ' && *p != '\n') {
p++;
}
if (*p == ' ') {
printf("%td\n", p - line);
} else {
printf("-1\n");
}
return 0;
}
运行示例
输入:
hello world输出:
5