no_russion
no_russion
2019-02-15 11:35

宏定义的小问题,为什么输出是D

  • c++
  • c语言

最后一行s[++i],不应该是s【1】吗,应该输出B,为什么会输出D呢

#include<stdio.h>
#include<stdlib.h>
#define TOUPPER(c) ('a'<=(c)&&(c)<='z'?(c)-'a'+'A':(c))

void main()
{
char s[5];
strcpy(s, "abcd");
int i = 0;
putchar(TOUPPER(s[++i]));
} 
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答