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);
}
展开
 我来答
375875192
2012-03-18 · TA获得超过362个赞
知道答主
回答量:189
采纳率:0%
帮助的人:135万
展开全部
这里应该是写错了吧
应该是
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式