中易网

这个c语言程序while啥意思

答案:2  悬赏:30  
解决时间 2021-01-12 04:04
  • 提问者网友:不要迷恋哥
  • 2021-01-11 16:48
这个c语言程序while啥意思
最佳答案
  • 二级知识专家网友:鱼忧
  • 2021-01-11 17:55
给你解释一下:(*s)&&(*t)&&(*t++==*s++)
&&:逻辑与,由左到右结合,只要有一项为0,则为0 。(*s)&&(*t)表示有一字符串到结尾,则跳出循环。(*t++==*s++):先执行 *t == *s ,判断两个字符是否相等,接着执行 t++ 与 s++,向后进行偏移。++的优先级比*要高,所以执行的是 t++,而不是(*t)++
当有一字符串到结尾或字符串不相等时,跳出循环。返回指向字符的差值,就是比较字符串的大小。追问你不是说++的优先级更高吗那不是*++是从第二个开始比较?追答我说错了,* 与++ 的优先级一样。同等级优先级按结合律来计算,++与*都是右结合律,所以是t++,而不是(*t)++。
而你问的好像是a= i++与a= ++i的问题,a = i++,先执行a = i,在执行 i ++;a= ++i,先执行i++,在执行 a= i。
所以先执行 *t == *s ,判断两个字符是否相等,接着执行 t++ 与 s++,向后进行偏移。
全部回答
  • 1楼网友:山有枢
  • 2021-01-11 19:03
比较两个字符串的大小
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息