qq1242009750 发表于 2016-6-21 11:41:37

ch = *target++ 是如何运行的

while (1)
      {
                ch = *target++;   这个语句是把指针+1后再把指针变量作为地址的值给ch吗???
                if (ch == '\0')
                {
                        break;
                }
                if ((int)ch < 0)
                {
                        target++;
                }
                length++;
      }

~风介~ 发表于 2016-6-21 19:53:50

依据”运算符优先级“来判断即可。

impossible 发表于 2016-8-5 07:50:33

先target++,再*target

Krant5 发表于 2016-8-5 15:31:51

可以如此拆分,ch=*target;target++;

Krant5 发表于 2016-8-5 15:32:27

impossible 发表于 2016-8-5 07:50
先target++,再*target

你这个肯定是错的。。

impossible 发表于 2016-8-6 07:55:13

本帖最后由 impossible 于 2016-8-6 08:00 编辑

Krant5 发表于 2016-8-5 15:32
你这个肯定是错的。。

*和++是同一优先级,是右结合....{:7_114:}

Krant5 发表于 2016-8-7 12:54:56

本帖最后由 Krant5 于 2016-8-7 15:50 编辑

impossible 发表于 2016-8-6 07:55
*和++是同一优先级,是右结合....

那也没用~    因为 a++表达式的值是 a ,你如果拆成两条语句,值都变了,所以多做做实验嘛

impossible 发表于 2016-8-8 07:55:13

Krant5 发表于 2016-8-7 12:54
那也没用~    因为 a++表达式的值是 a ,你如果拆成两条语句,值都变了,所以多做做实验嘛

没有啊,我说这条语句执行的过程

Krant5 发表于 2016-8-8 09:42:44

impossible 发表于 2016-8-8 07:55
没有啊,我说这条语句执行的过程

。。哼
页: [1]
查看完整版本: ch = *target++ 是如何运行的