2009-11-04 /*如果defined的参数已经被#define 定义过,那么defined 返回1 否则返回0*/ #if defined (IBMPC) #include "ibmpc.h" #elif defined (VAX) #include "vax.h" #elif defined (MAC) #include "mac.h" #else #include "general.h" #endif #include<iostream> using namespace std; int main(void) { char a[]="qqweqweq"; char b[]="asd"; char *q=b; char *p=a; while(*q) { *p++=*q++; } *p='/0'; p=p-strlen(b); cout<<p<<endl; } /*预处理标识符*/ #include<stdio.h> void whyMe(); int main(void) { printf("The file is %s/n",__FILE__);//当前源代码文件名的字符串文字 printf("The date is %s/n",__DATE__);//进行预处理的日期 printf("The time is %s/n",__TIME__);//源文件的编译时间 printf("This is line %d/n",__LINE__);//当前的行数 //printf("This function is %s/n",__func__);//当前函数的名字 whyMe(); return 0; } void whyMe(void) { //printf("This function is %s/n",__func__); printf("THis is line %d/n",__LINE__); } #line 10 #line 1000 "cool.c"//把行号和文件重置 /**/ #include<stdio.h> #include<math.h> #define RAD_TO_DEG (180 / (4 * atan(1))) typedef struct polar_v{ double magnitude; double angle; }POLAR_V; typedef struct rect_v{ double x; double y; }RECT_V; POLAR_V rect_to_polar(RECT_V); int main(void) { RECT_V input; POLAR_V result; puts("Enter x,y ccordinates enter q to quit:"); while(scanf("%lf%lf",&input.x, &input.y) == 1) { result = rect_to_polar(input); printf("magnitude = %.2f,angle = %.2f/n", result.magnitude, result.angle); } puts("Bye"); return 0; } POLAR_V rect_to_polar(RECT_V rv) { POLAR_V pv; pv.magnitude = sqrt(rv.x * rv.x +rv.y * rv.y); if(pv.magnitude == 0) { pv.angle = 0.0; } else { pv.angle = RAD_TO_DEG * atan2(rv.y,rv.x); } return pv; }