问题描述
- C语言,把大写字母转换成小写字母的函数,请问哪里错了?
-
main.c
#include
int main(void)
{
char ch;
for (; (ch = getchar()) != EOF;)
{
tolower(ch);
putchar(ch);
}
}
tolower.c
void tolower(char ch)
{
if (ch >= 'A'&&ch <= 'Z')
ch += 32;
}
解决方案
你这种该法只是改变了形参的值,没有改变实参的值,在调用函数的时候传入一个地址(指针)进去就可以
void tolower(char *ch)
{
if (*ch >= 'A' && *ch <= 'Z')
*ch += ch;
}
tolower( &ch);
时间: 2024-10-04 23:46:11