我已经尝试了很长一段时间在我的C程序中编写一个函数,如果给定的数组不包含某个字母,它将执行一个任务,否则如果数组确实包含这个字母,另一个函数被称为,该计划继续在其他地方。
以下是我尝试过的一个此类功能的示例:
int Asterisk(){
int v;
for(v=0; v<sizeof Mask; v++){
if(Mask[v] != '*'){
return 1;
}
else{
return 0;
}
}
}
如您所见,此函数在
时返回1Mask[0] != '*'
我无法弄清楚如何在返回值之前检查数组的每个元素,而不是只检查第一个元素。
非常感谢任何帮助/指导!
答案 0 :(得分:1)
通过数组,你的意思是一个简单的字符串?如果是这种情况,你只需要编写一个带字符串的函数和要查找的字母,如果该字符串在第一次出现该字母时不包含该字母,则返回0。
答案 1 :(得分:1)
尝试以下
int Asterisk()
{
int i = 0;
while ( i < sizeof Mask && Mask[i] != '*' ) ++i;
return i == sizeof Mask;
}
虽然对我来说,我会编写函数,如果数组中存在星号,则函数返回1.
int Asterisk()
{
int i = 0;
while ( i < sizeof Mask && Mask[i] != '*' ) ++i;
return i != sizeof Mask;
}
并且在调用者中使用它
if(!Asterisk()){/ *做某事* /}
即如果数组中存在星号,则函数返回1,否则返回0.
如果字符数组包含字符串,那么您只需使用标题strchr
中声明的标准C函数<string.h>
答案 2 :(得分:0)
int Asterisk()
{
int v;
bool exists = false;
for(v=0; v<sizeof Mask; v++){
if(Mask[v] != '*'){
exists = true;
break;
}
}
return exists;
}