易截截图软件、单文件、免安装、纯绿色、仅160KB

C中宏#和##的运用

 #include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define f(a,b) a##b
#define g(a)  #a
#define h(a) g(a)
int main()   
{   
    char a = 'a';      
    printf("%s\n",g(a)); // a
    printf("%s\n",g(g(a))); // g(a)
    printf("%s\n", h(f(1,2)));   // 12
    printf("%s\n", g(f(1,2))); // f(1,2)
    printf("%s\n", g(h(f(1,2)))); // h(f(1,2))
    printf("%s\n", h(g(f(1,2)))); // "f(1,2)"
    printf("%s\n", h(h(f(1,2)))); // "12"
    return 0;   
}


相关文档:

C宏的用法

前几天参加某公司的笔试,有一道题是用纯C实现一个泛型函数。郁闷了好久用C++模板实现了。
宏有如下的特点:
1.与const相比,宏是在预编译的时候完成的
2.define 只做简单的替换,不做类型安全检查
3.使用不当会引起很多问题
宏的用法:
1.简单的宏定义
#define  MAX 1024
2.宏定义功能块
#define MAX(a,b) ( ......

第六章答案 c primer plus

 6.1 编写一个程序,创建一个具有26个元素的数组,并在其中存储26个小写字母,并让该程序显示该数组的内容.
#include <stdio.h>
int main(void)
{
 char a[26] = {'a', 'b', 'c', 'd', 'e', 'f',
     'g', 'h', 'i', 'j', 'k', 'l',
     'm', 'n', 'o', 'p ......

C/C++ 打开PDF文档

 wchar_t wsWorkingDir[256] = _T("");
 CString strPDF(_T(""));
 ::GetCurrentDirectory(256, wsWorkingDir);
 strPDF.Format(_T("%s"), wsWorkingDir);
 if (strPDF.GetAt(strPDF.GetLength()-1) != '\\')
 {
  strPDF += '\\';
 }
 strPDF += "doc\\my.pdf" ......

C/C++数组名与指针区别

 以下文章转载于:为了学习和收藏
http://tech.163.com/school · 2005-08-23 11:05:18 · 来源: 天极网
C/C++数组名与指针区别
  引言
  指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号