指针大小写转换c语言
时间: 2023-12-05 19:40:29 浏览: 132
以下是将字符串中的大写字母转换为小写字母的C语言代码,使用指针实现:
```c
#include "stdio.h"
int main() {
char a[40];
char *p;
p=a;
scanf("%s",p);
while(*p!='\0') {
if(*p<='Z'&&*p>='A')
*p=*p+32;
p++;
}
p=a;
puts(p);
return 0;
}
```
该程序首先定义了一个字符数组a和一个字符指针p,将p指向a的首地址。然后使用scanf函数从标准输入中读取一个字符串,并将其存储在a数组中。接着使用while循环遍历字符串中的每个字符,如果该字符是大写字母,则将其转换为小写字母。最后使用puts函数输出转换后的字符串。
相关问题
c语言指针大小写转换
以下是一个C语言程序,可以将输入的字符串中的大写字母转换为小写字母,小写字母转换为大写字母,并输出转换后的字符串和其中的一个字符:
```c
#include <stdio.h>
int main() {
char a[40];
char *p;
p = a;
scanf("%s", p);
while (*p != '\0') {
if (*p >= 'a' && *p <= 'z') {
*p = *p - 32;
} else if (*p >= 'A' && *p <= 'Z') {
*p = *p + 32;
}
p++;
}
p = a;
puts(p);
printf("%c", *p);
return 0;
}
```
字符大小写转换用函数指针c语言
在 C 语言中,字符大小写转换通常涉及到使用整数操作来模拟 ASCII 码的行为,因为字符实际上就是对应的ASCII码值。不过,如果你想要使用函数指针来进行这样的转换,可以定义一些处理特定转换的函数,然后创建一个函数指针变量指向它们。
例如,你可以定义两个函数,`to_upper_case` 和 `to_lower_case`,分别将小写字母转大写和将大写字母转小写:
```c
#include <ctype.h>
// 将字符转大写
char to_upper_case(char c) {
if (islower(c))
return toupper(c);
else
return c;
}
// 将字符转小写
char to_lower_case(char c) {
if (isupper(c))
return tolower(c);
else
return c;
}
// 使用函数指针
typedef char (*CaseConverter)(char);
void case_conversion(char *str, CaseConverter converter) {
for (int i = 0; str[i] != '\0'; ++i)
str[i] = converter(str[i]);
}
```
然后,你可以像这样使用函数指针:
```c
int main() {
char string[] = "Hello, World!";
CaseConverter upper_converter = to_upper_case;
case_conversion(string, upper_converter); // 输出 "HELLO, WORLD!"
CaseConverter lower_converter = to_lower_case;
case_conversion(string, lower_converter); // 输出 "hello, world!"
return 0;
}
```
阅读全文