c - strcmp 返回 10 即使字符串相同
问题描述
由于某种原因,当我比较两个确切的字符串时,它返回一个非零的数字。我不确定它为什么要这样做。
此处显示:
printf("%s %s %d\n",target,temp->variableName,strcmp(temp->variableName, target));
结果:"BB 10" <- 当我将 B 与 B 进行比较时,它返回 10,即使它应该返回 0。
有人可以告诉我它是怎么做到的,我能做些什么来解决这个问题?
解决方案
的返回值strcmp
是第一个 delta 的 ASCII 值(这取决于实现,但大多数体面的实现都会以这种方式表现)。
的 ASCII10
等于newline
。您很可能在其中一个字符串中有回车。
推荐阅读
- ios - 在 IOS 中使用 AUGraph 在 AudioUnit 中播放立体声
- python - 从现有值中添加值,Python 字典
- javascript - vue-ctk-date-time-picker 2 如何将下拉位置更改为正确?
- cron - 启用 SELinux 的 NFS 共享 Oracle Linux 8 集群上的 Cron 作业失败
- javascript - 如何在 React 中同时构建受控和不受控的 Input 组件?
- nuxt.js - 用于特定路由的 NuxtJS 路由中间件
- r - R - 滚动窗口上的产品总和(四分之一)
- flutter - 导航计入颤动
- windows - Windows 上的电子吐司操作
- c++ - 如何调用 operator() 的重载版本