![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/628383729856171.jpeg "#left
这是我同学写出来的能运行成功的代码
红圈里的部分一直看不懂,这个要求实现的功能是在字符串s中找出并返回第一个出现两次的字符。里面的这个a【s【i】】是做什么的呀,最好详细讲讲
a[s[i]] a数组记录s数组中一个字符出现的次数。如果s包含小写100有些小了
加入s[]="abc";
a[s[0]]++ 就是a['a']++也就是a[97]++
a[s[1]]++ 是a[98]++
你这代码要好用的话,输入的字符不能是ASCII码大于100的字符啊
s[i]表示检测的字符,把这个字符的ASCII码作为下标,如果出现这个字符,则对应下标的计数加1 。如果计数达到2个,说明这个字符出现了2次,就是满足条件的第一个字符了
首先,b是字符串s的长度,从i=0开始,直到小于b的循环,
那么s[i]就是s中的每个字符,每次循环s[i]都是取s对应下标的一个字符,
然后用这个字符做列表a的下标,如s ['A'];表示'A'的ascii码做对应的下标。
A的ascii码是65,那么s ['A']就相等于s[65],
s ['A'] ++ 等于s[65] ++ ,65这个下标的元素增长1