C和指针 第二章
【摘要】 1.编译过程首先是预处理器处理,在这个阶段,预处理器再源代码上执行一些文本操作。例如,用实际值代替由#define 指令定义的符号 以及读入由#include 指令包含的文件内容。然后,源代码经过解析,判断它的语句的意思;随后,便产生目标代码。优化器会对目标代码进一步进行处理,使它效率更高,但需要额外的时间。
2.空白字符包括,空格,水平制表符,垂直制表符,格式反馈字符和换...
1.编译过程首先是预处理器处理,在这个阶段,预处理器再源代码上执行一些文本操作。例如,用实际值代替由#define 指令定义的符号 以及读入由#include 指令包含的文件内容。然后,源代码经过解析,判断它的语句的意思;随后,便产生目标代码。优化器会对目标代码进一步进行处理,使它效率更高,但需要额外的时间。
2.空白字符包括,空格,水平制表符,垂直制表符,格式反馈字符和换行符。
3.标准还定义了三字母词的字符,实际用到的少,不建议使用。
4.转移字符的使用。
\?在书写连续多个?时,防止被解释为三字母符
\"用于表示一个字符串常量内部的双引号
\'用于表示字符常量'.例如'\'';
\\用于表示一个反斜杠。
5.所有的注释都会被预处理器拿掉,取而代之的是一个空格。
-
#include <stdio.h>
-
#include <stdlib.h>
-
-
int main()
-
{
-
int ch;
-
int braces = 0;
-
-
while ((ch = getchar()) != EOF)
-
{
-
if (ch == '{')
-
{
-
braces += 1;
-
}
-
-
if (ch == '}')
-
{
-
if (braces == 0)
-
{
-
printf("%Extra closing brace!\n");
-
}
-
-
else
-
{
-
braces -= 1;
-
}
-
}
-
}
-
-
if (braces > 0)
-
{
-
printf("%d unmatched opening brace(s)!\n",braces);
-
}
-
-
return EXIT_SUCCESS;
-
}
文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq523176585/article/details/12512071
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)