C和指针 第二章

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值