程序中这两行代码的工作

时间:2018-08-31 12:20:28

标签: c string pangram

total+=!used[str[i]-'a'];
used[str[i]-'a']=1;

这是检查字符并将值保存在变量total中的条件。

1 个答案:

答案 0 :(得分:2)

total变量将包含数组str中的唯一个字符。

之所以会这样,是因为只有在尚未将字符标记为已访问时,才增加计数(total+=!used[str[i]-'a'])。如果增加它,则在下一行(used[str[i]-'a']=1)中将其标记为这样,以便不再计数。

符号str[i]-'a'用于将字符的ascii值从 0 更改为 25 (而不是 97 122 ),以便您可以在阵列中保留一些空间。