我正在尝试使用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]
无法分割,因为它是一个指针。任何人都可以告诉我如何解决这个问题,或者至少如何将输入从fgets
转换为int
?非常感谢!
答案 0 :(得分:3)
input
不应该是int *
,而是char *
。这将返回一个C字符串,它是一系列以null结尾的字符。如果使用atoi()
,则可以将该字符串的内容解释为整数。