C语言 打印字符简单问题

[复制链接]
查看11 | 回复4 | 2009-6-17 23:12:06 | 显示全部楼层 |阅读模式
如果光用a的话表示的就是a数组的地址,而你用'a'表示的是a这个字母的ASCII码在这里是97,也就是你在用地址这个整数和97这个整数比较,因为在内存里用户不可能用到像97这样的地址单元,一般像这么小的地址单元是操作系统保留用来存放中断向量或者端口的信息内容,用户是不可访问的,所以这个数组的存放地址不可能用到97,自然就总是假啦...
回复

使用道具 举报

千问 | 2009-6-17 23:12:06 | 显示全部楼层
比较字串需要使用strcmp,返回值0表示两个字串相等,返回值大于0表示前者比后者大,返回值小于0表示后者比前者大。例如:if (strcmp(a, "a")==0)如果需要比较字符数组a的第一个字符是否等于a应该这样写:if (a[0] == 'a') 或者 if (*a == a)...
回复

使用道具 举报

千问 | 2009-6-17 23:12:06 | 显示全部楼层
a是数组,你判断怎么用数组名和字符比较呢,应该用if(a[0]=='a')这样才行,数组名其实是个地址。...
回复

使用道具 举报

千问 | 2009-6-17 23:12:06 | 显示全部楼层
此处输入的a是字符串,而lz用来比较的是单个字符当然是不准确的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行