c - 在c中将字符串与“>”、“<”、“=”进行比较
问题描述
我想知道当我们有 s1 > s2 时比较什么以及结果是什么(例如,当我们比较字符时,比较它们的 ASCII 对应代码)。我读到这个操作比较了 s1 和 s2 的第一个字符,但是如果我尝试与 s1[0] > s2[0] 进行比较,结果是不同的,那么就不可能了。
解决方案
比较==
意味着检查指针是否指向同一个对象,所以:
char s1[] = "foo";
char s2[] = "foo";
if(s1 == s2)
puts("Same object");
else
puts("Different object");
将打印“不同的对象”。
<
>
除非指针指向同一个对象,否则绝对没有意义。例如,您可以这样做:
char s[] = "asdfasdf";
char *p1 = &s[3], *p2 = &s[6];
if(p1 < p2)
// Code
推荐阅读
- angular - 文本框内的左侧图标
- python - 高阶函数。以前未引用的本地变量
- python - 我正在尝试使用 python 解决 codewars 中的问题
- css - 在引导布局中安装固定的 wordpress 菜单
- c# - 如果加载的图像来自资源,如何在图片框中放置边框颜色?
- apache-spark - Spark 流 - forEach writeStream - 如何在输入数据帧上调用 write()
- amazon-s3 - . ./filename 命令在使用 MINGW64 在批处理文件中运行时不起作用
- google-bigquery - 在 BigQuery 中清理数据的最有效方法
- javascript - 想要显示以逗号结尾的数组的第一个索引(日期-时间-时区)
- c - 如何通过管道传输两个现有的文件描述符(一个来自套接字)?