0
这是一个将sting的字母转换成大写或小写的程序。我不知道这段代码有什么问题。当我运行它时,它省略了第一个字母。如果我给出字符串“Lets out out”,则输出为 “ETS GO OUT”(将“L”排除在外,不应该发生)转换为大写字母并且“ts out out”(“ le“被排除在外,这是不应该发生的)当转换为小写。我使用codeblocks。请有人帮助我:'(这个用C编写的程序没有给出正确的输出
#include<ctype.h>
#include<stdio.h>
int main()
{
char str[80],*p;
printf("Enter A String\n");
gets(str);
p=str;
while(*p)
*p++=toupper(*p);
printf("After uppercase conversion: %s\n",str);
p=str;
while(*p)
*p++=tolower(*p);
printf("After lowercase conversion: %s\n",str);
return 0;
}
不要使用'gets' –
在'* p ++ = tolower(* p)'这个表达式中,你认为'p'的值是否在RHS上? –