其实不太明白这个bool palindrome(char s)这里面s是什么意思 希望可以解答,问题有点多,辛苦辛苦,解决问题后肯定采纳的,感谢感谢
typedef enum {false, true} bool;这是什么意思?typedef又代表什么?(s[i]!=s[l-1])自定义函数中为什么不写成(*s[i]!=*s[l-1])?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 typedef 相当于一种重命名
typedef int abc;
当你写了这句话,你就可以把abc当int来用了;
main()
{
abc x=1, y=2;
printf("%d %d", x, y);
}
这个程序是对的,x和y的类型就是int,输出的结果是1 2
而 typedef enum { FALSE , TRUE } bool ; 这句话就是告诉你bool类型的变量可以取的值就是两种
FALSE(假)或TRUE(真),也就是>= <= ==这类运算符的运算结果
然后如果把bool用在自定义函数里面
bool f()
{
return TRUE; /* 等价于return 1; */
}
这个函数的返回值只能是TRUE或FALSE
-----以下为2021-12-19编辑-----
enum { FALSE, TRUE } 可以理解为你自己创建了一个新类型,这个类型的变量有两种取值,一个是FALSE,一个是TRUE。
然后FALSE本身是可以在大括号里赋一个整型值的,比如enum { FALSE = 1, TRUE = 3 }。如果是这样赋值的话,那你新创建的类型就可以有两种取值,FALSE(对应整型的1), TRUE(对应整型的3)。
然而你写的是enum { FALSE, TRUE } ,根据默认的规则,FALSE 会被赋值为0, TRUE被赋值为FALSE+1(在这里 TRUE 就是1)。
现在你又写下了
typedef enum { FALSE , TRUE } bool ;
那么在这一句话中,你同时创造了一个新类型,同时给它取一个名字叫bool。
那么你就可以这样创建一个变量
bool a;
a的类型名是bool
你可以这样给它赋值 a = TRUE;
同时 a 也等价于整型的 1。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 10无用
悬赏问题
- ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
- ¥15 这种微信登录授权 谁可以做啊
- ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
- ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
- ¥15 网络设备配置与管理这个该怎么弄
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!