c - 为什么我的布尔函数没有被实现?
问题描述
我正在尝试实现一个字符串比较函数,我想在其中返回一个布尔值,但我遇到了几个错误,我不知道为什么会这样。
编译器显示的错误是
"error: unknown type name bool"
&
"error: false, true undeclared"
现在据我所知,bool 只有两个值,即真或假,那为什么我仍然有问题?
bool string_cmp(char word1[],char word2[]){
bool isEqual = false;
int i,k=sizeof(word1);
for(i=0;i<=k;i++){
if(word1[i]!=word2[i]){
isEqual=false;
}
else
isEqual=true;
break;
}
return isEqual;
}
编辑后的代码(为什么我在 word1 数组中添加更多单词时输出错误?):
bool string_cmp(char word1[],char word2[]){
bool isEqual = false;
int i,k=sizeof(word1);
for(i=0;i<=k;i++){
if(word1[i]!=word2[i]){
isEqual=false;
break;
}
else
isEqual=true;
}
return isEqual;
}
int main()
{
int count;
bool cmp;
char word1[40]={"Hi world world"},word2[20]={"Hi world"},result[60]; //the only case when I am getting wrong output; otherwise if both words are same or if I remove something from word2, I get the output as expected.
cmp=string_cmp(word1,word2);
printf("%d",cmp);
}
解决方案
你所要做的:
#include <stdbool.h>
在 c 程序中,以便访问 bool 类型和真/假定义。
推荐阅读
- file - 如何销毁文件?
- r - R - 突变 if + 动态创建列名
- c++ - 带有 std::enable_if 的 C++ 可变参数模板部分模板特化
- php - 在编程时为 IDE Linting 安装没有 Web 服务器的 PHP
- google-apps-script - 需要帮助使用命令按钮将选定的单元格从一张表复制到谷歌表中的另一张表
- php - 如何修复 PHP $_GET 以使用 SEO 友好的 URL
- hive - 在滚动 7 天计数中色调不同的用户
- cordova - 找不到与包名称“io.ionic.starter”匹配的客户端
- jenkins - 在詹金斯中找不到 docker 命令
- sublimetext3 - “将项目另存为”的 SublimeText 键绑定?