写一函数将字符串转成全小写。要求不能使用库函数。 //函数原型(声明)参考:void tolower(char s[]); //提示:字符串以'\0'字符作为结束标志。 void tolower(char s[]); int _tmain(int argc, _TCHAR* argv[]) { char s[80]; printf("Please input a string:"); scanf("%s",s); tolower(s); printf("%s",s); return 0; } void tolower(char s[]) { char *p=s; while( (1) ){ if (*p>='A'&&*p<='Z') (2) ; (3) ; } }
时间: 2024-01-25 09:04:05 浏览: 19
下面是一个将字符串转成全小写的函数实现:
```c
void tolower(char s[]) {
char *p = s;
while (*p != '\0') {
if (*p >= 'A' && *p <= 'Z') {
*p = *p + 32; // 将大写字母转成小写字母
}
p++;
}
}
```
在这个函数中,我们使用了指针 `p` 遍历字符串 `s` 中的每一个字符。对于每一个大写字母,我们将其 ASCII 码值加上 32,即将其转成对应的小写字母。最后,字符串 `s` 中的所有大写字母都变成了小写字母。
相关问题
用C语言写 写一函数将字符串转成全小写。要求不能使用库函数。
下面是一个将字符串转换为全小写的C语言函数实现:
```c
#include <stdio.h>
void toLowerCase(char* str) {
int i = 0;
while (str[i] != '\0') {
if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] += ('a' - 'A');
}
i++;
}
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%[^\n]", str);
toLowerCase(str);
printf("Lowercase string: %s\n", str);
return 0;
}
```
在该函数中,我们使用了一个while循环来遍历字符串。如果当前字符是大写字母,则将其转换为小写字母。这是通过将当前字符的ASCII值加上差值来实现的。因为大写字母与小写字母之间的ASCII值差为32。因此,我们将大写字母的值加上32,以得到相应的小写字母。
C语言使用指针实现以下字符串拷贝函数:将指针s指向的字符串拷贝至指针d指向的内存空间。 void StrCpy(char *s,char *d) 注:不能使用库函数
好的,以下是使用指针实现字符串拷贝函数的代码:
```c
void StrCpy(char *s, char *d)
{
while (*s != '\0') { // 判断是否到字符串末尾
*d = *s; // 将s指向的字符赋值给d指向的字符
s++; // s指针后移
d++; // d指针后移
}
*d = '\0'; // 在字符串末尾加上'\0',表示结束
}
```
这个函数的实现过程很简单,就是通过一个while循环,将s指针所指向的字符串中的每一个字符一个一个地复制到d指针所指向的内存空间中,直到字符串末尾为止。最后,再在d所指向的字符串末尾加上一个'\0',表示字符串的结束。
需要注意的是,这里的指针参数都是指向字符的指针,即char类型的指针。