int t;
char buf[]={"abc"};
for(t=0;buf[t]!='\0';t++)
    printf(
"%d ",buf[t]);
printf(
"\n");
t
=0;
printf(
"%d %d %d",buf[t],buf[++t],buf[++t]);

想说明一个简单的问题,最后一行代码往往不能达到想要的效果,至少在我的g++下面不能。

原因在于编译器在编译的时候不一定是按照从左到右的顺序处理,比如,g++是按照从又往左的顺序。

那么,在书写代码的过程中应该避免最后一行那样的写法,一方面是为移植性着想,一方面是为了避免难以发现的错误。

反正我以后不会在printf里头写++t了。

over...

相关文章:

  • 2022-01-14
  • 2022-12-23
  • 2021-06-11
  • 2021-10-07
  • 2021-04-22
  • 2022-01-07
  • 2021-05-24
  • 2021-07-15
猜你喜欢
  • 2021-06-14
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
  • 2022-02-12
相关资源
相似解决方案