这里看不懂。。。这结果为什么会这样啊
#include<stdio.h>void upperCase(char str[])
{
for (int i = 0;i<sizeof(str); ++i)
{
if ('a' <= str && str <= 'z')
str -= ('a' - 'A');
}
}
int main()
{
char str[] ="what's your name";
upperCase(str);
printf("%s", str);
return 0;
}
upperCase是要把小写字符变成大写
这个运行结果看不懂 来个老哥指导一下 这一句循环终止条件有问题:
for (int i = 0;i<sizeof(str); ++i)
下面是我修改的代码,楼主不妨一试
#include<stdio.h>
void upperCase(char str[])
{
int i ;
for(i = 0 ; str ; i ++) if(str >= 'a' && str <= 'z') str -= ('a' - 'A') ;
}
int main()
{
char str[] = "what's your name" ;
upperCase(str) ;
printf("%s\n" , str) ;
return 0 ;
} jackz007 发表于 2019-11-15 00:16
这一句循环终止条件有问题:
下面是我修改的代码,楼主不妨一试
确实改过来了,不过我不知道为什么 sizeof(str) 的结果是4
页:
[1]