| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1376 人关注过本帖
标题:有没有大神帮忙解释一下这题是怎么解的? 有关于 宏
只看楼主 加入收藏
白白白小白
Rank: 2
等 级:论坛游民
帖 子:32
专家分:65
注 册:2021-11-8
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:2 
有没有大神帮忙解释一下这题是怎么解的? 有关于 宏
假设宏定义如下:
#define TOUPPER(c) ('a'<=(c)&&(c)<='z'?(c)-'a'+'A':(c))

设s是一个足够大的字符数组,i是int型变量,则以下代码段的输出是:

strcpy(s, "abcd");
i = 0;
putchar(TOUPPER(s[i]));

// 要是能讲解一下define和strcpy两行代码的意思就更好了, 非常感谢!
搜索更多相关主题的帖子: strcpy define 讲解 输出  
2021-11-27 19:21
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:20 
TOUPPER(s[i])
s[i]带入宏里:
('a'<=(s[i])&&(s[i])<='z'?(s[i])-'a'+'A':(s[i]))
i=0时,s[i]='a':
('a'<=('a')&&('a')<='z'?('a')-'a'+'A':('a'))
结果就是小写字母转成大写字母


strcpy(a,b),是把字符串b复制到a。
2021-11-28 12:33
白白白小白
Rank: 2
等 级:论坛游民
帖 子:32
专家分:65
注 册:2021-11-8
收藏
得分:0 
回复 2楼 apull
懂了,谢谢!
2021-11-29 15:04
快速回复:有没有大神帮忙解释一下这题是怎么解的? 有关于 宏
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027703 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved