检测字符串中的负整数

时间:2016-09-27 02:11:57

标签: c++ string boolean

假设我输入一串输入,我想检查用户是否输入了负数。

bool isNegative(string input[]) {
    int i = 0;
    if (input[i] == "-") {
        return true;
    } else {
        return false;
    }
}

我尝试了一个布尔函数来检查第一个字符是否为 - 符号,表示负数,例如-5,-25。

然而,我的Netbeans给了我这个错误: main.cpp:39:25:错误:ISO C ++禁止指针和整数之间的比较[-fpermissive]

谁知道这意味着什么?

2 个答案:

答案 0 :(得分:1)

您的代码存在两个问题:

  • 您宣布永不改变的i。这与执行input[0]
  • 相同
  • 您将字符与字符串进行比较。而不是"0"(双引号),您需要'0'(单引号)。

修复这两个问题将修复您的代码。

注意:您可以在一行中编写此功能:

bool isNegative(string input) {
    return input[0] == '-';
}

答案 1 :(得分:1)

您需要使用单引号,它代表单个字符,而不是使用表示字符串的双引号。

if (input[i] == '-')