C语言进阶-第29讲:枚举类型及其应用(对称点)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_39286218/article/details/78649106

任务和代码:

/*  
*All rights reserved  
*文件名称:main.c  
*作者: Osseyda  
完成日期:2017.11.27  
*版本号:v2.  
*  
*问题描述:设计函数,可以按指定的方式,输出一个平面点的对称点 
*/   
#include <stdio.h>
enum SymmetricStyle{axisx, axisy, point};//分别表示按x轴, y轴, 原点对称三种方式
void output(double,double,enum SymmetricStyle);
int main(){
    double x,y;
    printf("输入点的坐标:");
    scanf("%lf %lf", &x, &y);
    printf("关于x轴的对称点是:");
    output(x,y,axisx);
    printf("关于y轴的对称点是:");
    output(x,y,axisy);
    printf("关于坐标原点的对称点是:");
    output(x,y,point);
    return 0;
}
void output(double p,double q,enum SymmetricStyle style){
    switch(style){
    case axisx:
        printf("(%.2f, %.2f)\n",-p,q);
        break;
    case axisy:
        printf("(%.2f, %.2f)\n",p,-q);
        break;
    case point:
        printf("(%.2f, %.2f)\n",-p,-q);
    }
}
运行结果:


知识点总结:

1)枚举类型使用户能够自己定义标识符表示变量的值

2)枚举类型的变量只能是枚举元素之一

3)枚举元素按常量处理,编译按定义的顺序对它们赋值为0,1,2...

也可以在声明枚举类型时另行指定枚举元素的值

4)由2)、3)可知,由于枚举变量的赋值,一次只能存放枚举结构中的某个常数。

扫描二维码关注公众号,回复: 5921743 查看本文章

所以枚举变量的大小,实质是常数所占内存空间的大小

5)由2)可知,枚举类型的变量作为函数参数如何在函数中调用


猜你喜欢

转载自blog.csdn.net/sinat_39286218/article/details/78649106