为什么结果是这样,怎么不是按照我编译的输出来
没错,你输入的5输出结果正常,你查一下ascii表就明白了 machimilk 发表于 2017-4-19 00:32没错,你输入的5输出结果正常,你查一下ascii表就明白了
可是我是输入数字5啊,5<32,不是应该输出第一行的吗
machimilk 发表于 2017-4-19 00:32
没错,你输入的5输出结果正常,你查一下ascii表就明白了
大家看看为什么会这样,输入与输入的不一致
输入5
第一个比的是5的ASCII码
djdj 发表于 2017-4-19 18:37
大家看看为什么会这样,输入与输入的不一致
5的ascii码不是5,你输入的5在内存中实际不是5,是按ascii码表来的 djdj 发表于 2017-4-19 18:37
大家看看为什么会这样,输入与输入的不一致
5的ascii码不是5,你输入的5在内存中实际不是5,是按ascii码表来的 machimilk 发表于 2017-4-19 23:31
5的ascii码不是5,你输入的5在内存中实际不是5,是按ascii码表来的
那为什么我输入一百,输出的不是我编译的那个,你帮我说的具体一点 表里如意 发表于 2017-4-19 22:57
输入5
第一个比的是5的ASCII码
那为什么我输入一百,输出的不是我编译的那个,你帮我说的具体一点 djdj 发表于 2017-4-21 10:21
那为什么我输入一百,输出的不是我编译的那个,你帮我说的具体一点
你百度一下ascii码表,就知道了,你输入的5其实在内存中是十六进制的35(10进制的53),你的条件是 c>='0' && c<='9', 注意是'0' '9' 而不是 09带单引号的按ascii的值算,而你说的100,其实是按1算的,因为你用的getchar只能截取1个字符,100只取第一个字符1 后面的00不取 machimilk 发表于 2017-4-21 12:51
你百度一下ascii码表,就知道了,你输入的5其实在内存中是十六进制的35(10进制的53),你的条件是 c>='0 ...
懂了、
页:
[1]