从键盘输入一个字符串(注意:字符串中含有空格),使用字符数组型和字符型指针来实现程序的功能,统计且输出字符串中字母的个数。
时间: 2024-01-24 07:17:44 浏览: 62
Linux系统函数调用字符串转换篇
使用字符数组实现代码如下:
```c
#include <stdio.h>
#define MAXLEN 100
int main() {
char str[MAXLEN];
int count = 0;
printf("请输入字符串:\n");
fgets(str, MAXLEN, stdin); // 读入字符串
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') {
count++;
}
}
printf("字母个数为:%d\n", count);
return 0;
}
```
使用字符型指针实现代码如下:
```c
#include <stdio.h>
int main() {
char *str;
int count = 0;
printf("请输入字符串:\n");
scanf("%[^\n]", str); // 读入字符串
for (int i = 0; *(str+i) != '\0'; i++) {
if (*(str+i) >= 'a' && *(str+i) <= 'z' || *(str+i) >= 'A' && *(str+i) <= 'Z') {
count++;
}
}
printf("字母个数为:%d\n", count);
return 0;
}
```
需要注意的是,使用字符型指针时需要手动分配内存并且要注意内存的释放。此外,fgets函数可以读入含有空格的字符串,scanf函数不能。
阅读全文