ASCII码的问题
#include <stdio.h>
main()
{ int i,r;
char s1[80]= "bus ";
char s2[80]= "book ";
for(i=r=0;s1[i]!= '\0 '&&s2[i]!= '\0 ';i++)
if(s1[i]==s2[i]) i++;
else {r=s1[i]-s2[i];break;}
printf( "%d ",r);
}
这道题为什么输出为4? 'u '与 'o '之间不是差6吗?
[解决办法]
你的代码是计算 s 和o的差值。
[解决办法]
每一次循环当s1[i]==s2[i]时,i加了2
[解决办法]
if(s1[i]==s2[i]) continue;
[解决办法]
i加了2次。直接跳到s 和 o的比较了。