【发布时间】:2014-12-10 13:08:53
【问题描述】:
我尝试查看公式[i] 是否为空格,如果为数字则应为零。但显然它无法比较它们:S 我是 C 新手,所以有人知道问题所在吗?
注意:这不是我的全部代码,而只是理解问题的必要部分。
char formula[50] = "1 4 + 74 /";
int number = 0;
for (int i = 0; i != strlen(formula); i++)
{
if(!isdigit(formula[i]))
{
if (strcmp(&formula[i], " ") == 0)
{
number = 0;
}
}
}
【问题讨论】:
-
strcmp 比较的是字符串,而不是字符。您正在将公式的整个后端与包含单个空格的字符串进行比较。他们当然不匹配。