这段代码的功能是判断一个整数中是否存在相邻的两位数字相等。它从个位开始,每次比较当前个位和十位(即n%10和n/10%10),如果相等就输出YES并结束,否则去掉个位继续检查,直到数字小于10为止。如果循环结束都没有找到,会输出NO。
- 你的代码中,printf("NO")放在了循环内部,这会导致每次检查不相等时都输出一次NO,而不是在循环结束后统一输出。应该只在所有位都检查完且没有找到相等相邻数字时才输出NO。
- 循环条件while(n>=10)是正确的,但注意当n变成一位数时循环结束,此时应该输出NO,但你的代码在循环内每次不匹配时都输出NO,逻辑不对。