no_russion
2019-02-15 11:35宏定义的小问题,为什么输出是D
最后一行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条回答
为你推荐
- 为什么宏定义变量不能作为函数参数传入?
- c语言
- 1个回答
- 急!!请教下c++double转换为int的问题
- c语言
- 开发语言
- c++
- 1个回答
- C语言的宏定义只能是定义一串数字吗?
- c语言
- 开发语言
- c++
- 2个回答
- 新手请教一下c语言变量定义的问题
- c语言
- c++
- 1个回答
- C语言链表实现学生信息统计(只写了三个功能 输入 删除 输出)
- c语言
- 4个回答
换一换