1

我正在尝试使用fgets一个程序进行编码,该程序将从用户那里获取一个数字输入,然后将其除以 10000000。而且我知道字符串元素(of type 'int *')不能被int类型除。

int count;
int input[MAXLEN];

for ( count = 1; count <= 20; count++ ) {
      while (( fgets ( input[count], MAXLEN, stdin)) != 0 ) {
        if ( (input[count] / 10000000) != 20 ) {
            /* Some code dealing with this condition */
        }
      }
}

编辑: 编译器给了我这个错误:

program.c:10:24: error: invalid operands to binary / (have int * and int)

如果输入必须是类型char *,为什么我的编译器会说int *

我知道input[count]因为它是一个指针,所以不能分割。谁能告诉我如何解决这个问题,或者至少如何将输入从 转换fgetsint?非常感谢!

4

1 回答 1

4

input不应该是一个int *,而是一个char *。这将返回一个 C 字符串,它是一系列以 null 结尾的字符。如果使用atoi(),您将能够将该字符串的内容解释为整数。

于 2013-09-05T21:06:01.540 回答