一道简单的c语言问题,其结果是 "This Is A Book!",主要是 if(fg&&*c<='z'&&*c>='a')我无法理解在线等……
#include"stdio.h"intchange(char*c,intfg){if(*c=='')L1:return1;elseif(fg&&*c<='z'&&*c>...
#include"stdio.h"
int change(char *c,int fg)
{ if(*c==' ')
L1:return 1;
else
if(fg&&*c<='z'&&*c>='a')
*c+='A'-'a';
return 0;}
void main( )
{ int flag=1;
char ch;
do
{ch=getchar( );
flag=change(&ch,flag);
putchar(ch);
}while(ch!='\n');
} 展开
int change(char *c,int fg)
{ if(*c==' ')
L1:return 1;
else
if(fg&&*c<='z'&&*c>='a')
*c+='A'-'a';
return 0;}
void main( )
{ int flag=1;
char ch;
do
{ch=getchar( );
flag=change(&ch,flag);
putchar(ch);
}while(ch!='\n');
} 展开
3个回答
展开全部
if(fg&&*c<='z'&&*c>='a') 主要是用来判断*c 为小写字母 没用到可删除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个基本的问题我还是知道,关键是为什么改为if(*c<='z'&&*c>='a')后 函数功能就变成把所有小写转换为大写了。而不改时,却只是把每个单词的首字母转换为大写呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询