这是一个坏人 发表于 2018-8-14 16:20:13

c函数

本帖最后由 这是一个坏人 于 2018-8-14 17:57 编辑

fun(char *a,char *b)
{
        while((*a!='\0')&&(*b!='\0')&&(*a==*b))
                { a++;b++;}
                return(*a-*b);
}
//诸位大佬,这段函数的功能是什么

claws0n 发表于 2018-8-14 16:57:34

fun(char *a,char *b)
{
      while((*a != '\0') && (*b != '\0') && (*a != *b))    //代码有误吧
                { a++;b++;}
                return(*a-*b);
}

传 a, b 的地址
若它们的 ascii 码对应的不是空格,并且它们不相同的情况下
a, b 对应的 ascii 码自增
把最后的结果相减,并且返回

应该没什么特别的功能吧,练习题,如何用指针,ascii 码

这是一个坏人 发表于 2018-8-14 17:12:11

claws0n 发表于 2018-8-14 16:57
fun(char *a,char *b)
{
      while((*a != '\0') && (*b != '\0') && (*a != *b))    //代码有误吧


老哥,你看错了~
是(*a!==*b)

claws0n 发表于 2018-8-14 17:25:00

这是一个坏人 发表于 2018-8-14 17:12
老哥,你看错了~
是(*a!==*b)

{:9_222:}我不是老哥~

问题是类型一样,没有必要呀

人造人 发表于 2018-8-14 17:32:19

不符合C语言语法

这是一个坏人 发表于 2018-8-14 17:55:41

人造人 发表于 2018-8-14 17:32
不符合C语言语法

(*a==*b)
这样{:5_109:}

这是一个坏人 发表于 2018-8-14 18:36:44

claws0n 发表于 2018-8-14 17:25
我不是老哥~

问题是类型一样,没有必要呀

麻烦你 看一下选项

人造人 发表于 2018-8-14 18:40:14

这是一个坏人 发表于 2018-8-14 18:36
麻烦你 看一下选项

答案是 D

这是一个坏人 发表于 2018-8-14 18:44:24

人造人 发表于 2018-8-14 18:40
答案是 D

(*a-*b)
分别指向两个字符串的两个元素 做减法
不能理解

claws0n 发表于 2018-8-14 18:51:08

这是一个坏人 发表于 2018-8-14 18:36
麻烦你 看一下选项

d 吧
b, c 不可能
a 不会这样做,直接 sizeof 相减就可以了

人造人 发表于 2018-8-14 18:58:30

这是一个坏人 发表于 2018-8-14 18:44
(*a-*b)
分别指向两个字符串的两个元素 做减法
不能理解

在你看来,要如何比较两个字符串的大小?

这是一个坏人 发表于 2018-8-14 19:06:52

claws0n 发表于 2018-8-14 18:51
d 吧
b, c 不可能
a 不会这样做,直接 sizeof 相减就可以了

没明白(*a-*b)的作用

人造人 发表于 2018-8-14 19:10:08

https://fishc.com.cn/forum.php?mod=viewthread&tid=70567&extra=page%3D1%26filter%3Dtypeid%26typeid%3D583

这是一个坏人 发表于 2018-8-14 19:14:46

人造人 发表于 2018-8-14 18:58
在你看来,要如何比较两个字符串的大小?

懂了 ,,谢谢
“ABC”和“ABD”比较,ASCII码值逐位比较

这是一个坏人 发表于 2018-8-14 19:43:56

人造人 发表于 2018-8-14 19:10
https://fishc.com.cn/forum.php?mod=viewthread&tid=70567&extra=page%3D1%26filter%3Dtypeid%26typeid%3D ...

{:10_304:}
页: [1]
查看完整版本: c函数