total+=!used[str[i]-'a'];
used[str[i]-'a']=1;
这是检查字符并将值保存到变量total 中的条件。
最佳答案
total
变量将包含数组 str
中唯一 个字符的数量。
发生这种情况是因为仅当您尚未将字符标记为已访问时才增加计数(total+=!used[str[i]-'a']
)。如果您增加了它,则在下一行 (used[str[i]-'a']=1
) 中将其标记为这样,这样您就不会再次计数。
符号str[i]-'a'
用于将字符的ascii值从0转移到25(而不是97 到 122),以便您可以在数组中腾出一些空间。
关于c - 这两行代码在程序中的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52115363/