C程序 从一个字符串中提取字符
字符提取可以通过以字符数组的形式迭代字符串来完成。它基本上意味着从一个数组或字符串中拔出一定数量的字符。
现在,要在C语言中接受输入,我们通过使用以下方法来实现。
- scanf(“%c”, &str[i]); – 使用一个循环
- scanf(“%s”,str); – 使用%s格式指定器
- gets(str); – Gets给了我们一个额外的能力,可以在字符串/数组中使用空格。
现在,下一步将是运行循环直到我们到达空指针,空指针存在于字符数组中,表示字符串的结束。为了谨慎起见,我们将检查是否有空白,如果它是一个有效的字符,我们将使用(”%c”,str[i])打印它,否则我们将继续。
示例:
// C Program to demonstrate character
// extraction from a string
#include <stdlib.h>
#include <stdio.h>
int main()
{
char str[20];
printf("Enter the string: ");
gets(str);
// alternative scanf("%s",str);
// character extraction
printf("Printing the characters:: \n");
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') { // not a white space
printf("%c\n", str[i]); // printing each characters in a new line
}
}
return 0;
}
输入:
GeeksforGeeks
输出:
Enter the string: GeeksforGeeks
Printing the characters::
G
e
e
k
s
f
o
r
G
e
e
k
s
时间复杂度: O(n),其中n是字符串的大小。
辅助空间: O(1)