gpt4 book ai didi

c 可以按照 modula-2 定义 `TNumber = [minValue,maxValue]` 的方式定义数据类型吗?

转载 作者:行者123 更新时间:2023-11-30 17:52:55 25 4
gpt4 key购买 nike

我想定义一个数字变量可以属于的固定范围。我使用的是 c89 编译器。所以,如果我这样做:

#define minValue -200

#define maxValue 200

我想要以下内容:typedef int range[minValue,maxValue]

这样的事情可以做吗?

最佳答案

不,这是不可能的。您必须添加一些代码来检查您的值是否在定义的范围内。

例如

typedef int Range; // must be between minValue and maxValue
#define CheckRange(x) (((x)>=minValue) && ((x)<=maxValue))
[...]
Range a = ...; // a call to a function or user input request
if (!CheckRange(a))
// handle error

关于c 可以按照 modula-2 定义 `TNumber = [minValue,maxValue]` 的方式定义数据类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com