其实不太明白这个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 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
- ¥500 52810做蓝牙接受端
- ¥15 基于PLC的三轴机械手程序
- ¥15 多址通信方式的抗噪声性能和系统容量对比
- ¥15 winform的chart曲线生成时有凸起
- ¥15 msix packaging tool打包问题
- ¥15 finalshell节点的搭建代码和那个端口代码教程
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作