解释输出。正在打印每个字母的下一个字母

拉贡南丹
#include<stdio.h>
int main()
{
  char arr[]  = "abcdef";
  char *ptr  = arr;


 while(*ptr != '\0')
     ++*ptr++;
  printf("%s %s",arr,ptr);

  return 0;
}

输出:bcdefg

它正在打印给定的每个字母的下一个字母。到底是什么情况?

这个

这里有三个运算符后缀++,前缀++和间接*

后缀++具有比其他两个更高的优先级,并且将首先进行评估。但是,当使用后缀时++,将在更新存储的值(即增加指针)的副作用之前对值计算进行排序。因此指针ptr将递增,但其他两个操作数++和中使用的值*将是旧的。

前缀++和间接运算符具有相同的优先级,但是从右到左求值。因此,间接*寻址首先进行,然后前缀++使对象指针ptr指向的值递增

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在python中,如何给出一个字母,下一个字母的值?

字母→下一个字母并大写元音

如何返回在Haskell中包裹的给定字母的字母表中的下一个字母

打印一个单词的每个字母 + 另一个字母 - python

在SQL Server上生成下一个字母数字代码

计算SQL中的下一个字母

如果找到下一个字母,Ruby替换字符串

使用JavaScript将字母字符递增到下一个字符

根据下一个字母数字字符分割字符串

查找模式并在括号之间换行下一个字母

递归函数,每行打印一个字母,每个函数调用一个打印字母

“对于给定的字符串,在每个字母'r'之后返回下一个字符”。红宝石kickstart教程挑战(1:7)

不是只打印一个字母的所有字母,而是需要在输入的字母之后打印出每个字母

在传递下一个数组索引之前删除每个字母?

使用ascii_letters将字母替换为下一个字母时出错

如何将javascript中的字母增加到下一个字母?

在Google电子表格中需要字母下一个字母的公式

如何将字符串分成字母然后推入下一个字母?

打印一行中每个单词的第一个字母

使用 sed 命令将每个字母更改为字母表中的下一个

我正在尝试显示一个字母的出现次数,但是输出仅显示最后一个字母

Ruby方法,它接受一个字符串并返回一个重复的数组,每个重复中的字符串中的下一个字母大写(如wave)

如何只打印每个单词的第一个字母?

如何多次呼应一个字母,为每个新打印更改一个字母中的多个变量?

如何阻止一个字母一个字母地打印出随机项目

匹配特定模式之后的所有内容,除了空格,直到下一个字母

在输入下一个字母之前,不会出现撇号和双引号

循环遍历带有扩展名的文件也需要下一个字母

如果找到 samaccountname,则向用户名添加下一个字母