c语言如何将已输入字符串保留两个子母
时间: 2024-10-10 20:04:37 浏览: 32
在C语言中,如果想要保留字符串中的每个单词的前两个字母(假设单词是由空格分隔),你可以使用循环遍历整个字符串,同时处理每个单词。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void keep_two_chars(char str[]) {
int len = strlen(str);
for (int i = 0; i <= len - 2; i++) { // 遍历到倒数第三个字符
if (str[i] == ' ') { // 如果遇到空格,表示新词开始
str[i + 1] = '\0'; // 结束当前单词
str[i + 2] = '\0'; // 只保留前两个字符
printf("%s ", str); // 输出保留后的单词
}
}
printf("%s", str); // 输出最后一个单词,如果有
}
int main() {
char input[100];
printf("请输入字符串: ");
fgets(input, sizeof(input), stdin); // 输入字符串,注意去掉换行符
input[strcspn(input, "\n")] = '\0'; // 移除fgets添加的换行符
keep_two_chars(input);
return 0;
}
```
在这个例子中,我们遍历字符串,每遇到空格就截断字符串,只保留前两个字符,然后继续遍历。`fgets()` 和 `strcspn()` 函数用于获取用户输入并移除换行符。
阅读全文