我是C的新手,并且遇到了一些非常基本的东西。简单的'if'语句在C语言与char类型的比较中表现不如预期的那样
我有2个字符数组,我正在计算'if'语句中数组元素之间的绝对差异。但是,'if'语句没有按照我的预期进行评估。我得到的值差异不大于1打印的值。
这与abs函数有关,它返回一个int,然后将其与char相比较?
有什么建议吗?
if(abs(arr1[i] - arr2[i]) > '1')
printf("%c ", arr1[i]);
printf("%c ", arr2[i]);
printf("%d diff\n", abs(arr1[i] - arr2t[i]));
''1'' - >'1'?和'arr2t' - >'arr2' – BLUEPIXY
从我看到的,你需要'{}'来定义你的'if'块。 if(abs(arr1 [i] - arr2 [i])>'1'){printf(“%c”,arr1 [i]); printf(“%c”,arr2 [i]); printf(“%d diff \ n”,abs(arr1 [i] - arr2t [i])); }'? –
你知道''1'== 49'? – user0042