C语言字符串问题,下面程序中?1:0 是什么意思

printf("input a str:");
gets(str)
printf("number=%d\n",Hzw(str));
return 0;
int Hzw(char str[])
int i,nums
num=(str[0]!=’')?1:0;
for(i=1;str[i]!='\0';i++)
if(str[i]!=' '&&str[i-1]==’ ')
num++;

return num

就是三元判断 如果bool为真 走?后面的 为假 走:后面的
可以看做

if (str[0] != "")
{
num = 1;
}
else
{
num = 0;
}

如有帮助关注一波

C?A:B的意思,
判断C表达式,
如果是true,返回A
如果false返回B