find与find out的区别:最简单的C语言问题,希望十分钟有人解答

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 21:30:57
if (c>='0'&&c<='9')
++digit[c-'0'];

请问if (c>='0'&&c<='9')和if (c>=0&&c<=9)有什么区别,为什么要加单引号?能否改加为双引号?

请问++digit[c-'0']和++digit[c]有什么区别,为什么我改为++digit[c]运行起来提示Null pointer assignment

'0'表示字符 0,它的ACSII是48
0表示数字 0
加''表示是一个字符,加""表示是一个字符串,最后默认有一个'\0'作为结束符
++digit[c-'0']和++digit[c]也是一样的道理啊,可以吗?

你应该学学ASC码了,每个字符都对应唯一的ASC码
加引号说明c是字符串,不加说明是整数,单双引号都是一样的效果。
用到的是ASC码,c-'0'说明是c的ASC码减去0的ASC码它的值就是c表示的整数值

大哥,>'0'是只字符,也就是大于它的ASCII的值,而>0是数字,凡是带单引的都是字符,带双引的是字符串!!!!!
其他的都一样了!!呵呵!

肯定不一样,一个表示字符,一个表示数值,在计算机语言里存储的值是不一样的,所以不一样

‘0’指的是字符“0”的编码。而0指的是数字的值。

\'0\'表示字符 0,它的ACSII是48
0表示数字 0
加\'\'表示是一个字符,加\"\"表示是一个字符串,最后默认有一个\'\\0\'作为结束符
++digit[c-\'0\']和++digit[c]也是一样的道理啊