使用数组时后缀/前缀如何工作

普拉纳夫·卡塔(Pranav Katta)

这是2个代码示例:

int k,j=1;
int x[4]={5,14,25,47};
k = x[j] + ++j;
printf("%d, %d",j,k);

显示警告-“对'j'的操作可能未定义”,但输出为:2,16

然后我尝试了这个:

int k,j=1;
int x[4]={5,14,25,47};
k = x[j] +++j;
printf("%d, %d",j,k);

这不会发出任何警告,但是输出会有些混乱。输出-1,15为什么在第二种情况下j没有增加?

k = x[j] +++j;

是相同的

k = (x[j]++) +j;

同样,k = x[j] + ++j是未定义的行为,因为未定义添加的评估顺序。除了允许编译器产生任何东西外,这两个片段都是对该行的合理解释:

j++;
k = x[j] + j;

j++;
k = x[j-1] + j;

通常,避免“聪明”。如果你不是100%,你在做什么肯定,不使用++,并--在更复杂的语句。在此之前或之后在单独的一行上执行递增或递减操作。这样可以为您省去很多麻烦。例如,您可以毫无疑问地毫无疑问地准确地说出什么吗?

while(*str++) { 
    /* Do something */ 
} 

手段?恕我直言,这更清楚

while(*str) { 
    str++; 
    /* Do something */ 
} 

当然,这会花费一行,减少行数可能是一件好事,但在这种情况下,我认为最好放心。在这种情况下,您也可以使用括号将其更清楚:*(str++)如果您愿意,但我认为您的意思是正确的。

我实际上是在回答这是实际问题的地方:https : //stackoverflow.com/a/56522806/6699433

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SequenceStyleGenerator,如何使用前缀而不是后缀

来自分类Dev

为什么/最长正确前缀/后缀算法如何工作?

来自分类Dev

数组的最长公共前缀和后缀

来自分类Dev

教义获取没有前缀或后缀的数组

来自分类Dev

从后缀数组获取LCP的此代码如何工作?

来自分类Dev

当在指针上同时使用前缀和后缀时,输出很奇怪

来自分类常见问题

如何为每个列名添加后缀(或前缀)?

来自分类Dev

它如何获得相同的前缀和后缀?

来自分类Dev

使用批处理替换前缀和后缀

来自分类Dev

使用 uniq -c 时如何访问前缀

来自分类Dev

如何删除匹配模式的字符串中的前缀,后缀并使用sed分割字符?

来自分类Dev

如何使用批处理从前缀和随机后缀获取输入?

来自分类Dev

如何使用基于其ID后缀和前缀的jquery选择元素?

来自分类Dev

如何在数组公式中向部分文本添加前缀和后缀文本

来自分类Dev

仅当前缀和后缀匹配时,Python才使用re.sub替换字符串

来自分类Dev

仅当前缀和后缀匹配时,Python才使用re.sub替换字符串

来自分类Dev

R中的前缀后缀和前缀后缀

来自分类Dev

如何添加现有列表的后缀(或前缀)元素?

来自分类Dev

如何在QLineEdit中放置静态文本(后缀,前缀)?

来自分类Dev

如何在julia中为重复的列添加后缀或前缀?

来自分类Dev

如何处理CSS中的后缀和前缀

来自分类Dev

如何用唯一的前缀和后缀替换单词?

来自分类Dev

如何附加(带前缀和后缀)字符串

来自分类Dev

为什么同时使用前缀和后缀是非法的?

来自分类Dev

使用正则表达式捕获前缀和后缀

来自分类Dev

为什么同时使用前缀和后缀是非法的?

来自分类Dev

setNames后缀为前缀

来自分类Dev

for循环中的前缀与后缀

来自分类Dev

前缀和后缀增量

Related 相关文章

  1. 1

    SequenceStyleGenerator,如何使用前缀而不是后缀

  2. 2

    为什么/最长正确前缀/后缀算法如何工作?

  3. 3

    数组的最长公共前缀和后缀

  4. 4

    教义获取没有前缀或后缀的数组

  5. 5

    从后缀数组获取LCP的此代码如何工作?

  6. 6

    当在指针上同时使用前缀和后缀时,输出很奇怪

  7. 7

    如何为每个列名添加后缀(或前缀)?

  8. 8

    它如何获得相同的前缀和后缀?

  9. 9

    使用批处理替换前缀和后缀

  10. 10

    使用 uniq -c 时如何访问前缀

  11. 11

    如何删除匹配模式的字符串中的前缀,后缀并使用sed分割字符?

  12. 12

    如何使用批处理从前缀和随机后缀获取输入?

  13. 13

    如何使用基于其ID后缀和前缀的jquery选择元素?

  14. 14

    如何在数组公式中向部分文本添加前缀和后缀文本

  15. 15

    仅当前缀和后缀匹配时,Python才使用re.sub替换字符串

  16. 16

    仅当前缀和后缀匹配时,Python才使用re.sub替换字符串

  17. 17

    R中的前缀后缀和前缀后缀

  18. 18

    如何添加现有列表的后缀(或前缀)元素?

  19. 19

    如何在QLineEdit中放置静态文本(后缀,前缀)?

  20. 20

    如何在julia中为重复的列添加后缀或前缀?

  21. 21

    如何处理CSS中的后缀和前缀

  22. 22

    如何用唯一的前缀和后缀替换单词?

  23. 23

    如何附加(带前缀和后缀)字符串

  24. 24

    为什么同时使用前缀和后缀是非法的?

  25. 25

    使用正则表达式捕获前缀和后缀

  26. 26

    为什么同时使用前缀和后缀是非法的?

  27. 27

    setNames后缀为前缀

  28. 28

    for循环中的前缀与后缀

  29. 29

    前缀和后缀增量

热门标签

归档