C语言问题:if(str[i]>='a'&&str<='z') /* str<='z' 表示的是什么意思呢?*/还有这个结果一定是0即假的?
voidmain(){charstr[80];inti=0;gets(str);while(str[i]!=0){if(str[i]>='a'&&str<='z')/*s...
void main()
{
char str[80];
int i=0;
gets(str);
while(str[i]!=0)
{
if(str[i]>='a'&&str<='z') /* str<='z' 表示的是什么意思呢?*/
str[i]-=32;
i++;
}
puts(str);
} 展开
{
char str[80];
int i=0;
gets(str);
while(str[i]!=0)
{
if(str[i]>='a'&&str<='z') /* str<='z' 表示的是什么意思呢?*/
str[i]-=32;
i++;
}
puts(str);
} 展开
1个回答
展开全部
这里应该是写错了吧
应该是
if(str[i] >= 'a' && str[i] <= 'z')
str[i] = str[i] -'a'+'A'; // 这里我这样写主要是为了体现不用记ASCII码的优势
应该是
if(str[i] >= 'a' && str[i] <= 'z')
str[i] = str[i] -'a'+'A'; // 这里我这样写主要是为了体现不用记ASCII码的优势
更多追问追答
追问
这道题,如果改成你说的那样,我就懂,但是str<='z' 表示的是什么意思呢?还有,你后面提到 的str[i] = str[i] -'a'+'A';和我的问题有关系么?
追答
如果这样写的话
str表示的是指针
数组的第一个元素的地址
这样写就成了
将字符符给指针
应该不行吧
再就是下面的一句,我加的
意思是说正规点,没有其它的意思
(因为‘a' - 'A' ==== 32
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询