【发布时间】:2016-04-01 13:30:28
【问题描述】:
我对使用令牌有点困惑,比如说:
int main(void) {
char input[100];
fgets(input, 100, stdin);
char * token = strtok(input, " ");
char * height = strtok(NULL, " ");
char * width = strtok(NULL, " ");
if (height > 9 && width > 9)
set(height, width);
}
void set(char * height, char * width) {
for (int i = 0; i < height + 1; i++) {
for (int j = 0; j < width + 1; j++) {
mine[i][j] = '*';
}
}
}
我刚刚发现我不能使用“height+1”,谁能告诉我有什么方法可以使用 height 的值?此外,我应该将 char *height 和 char *width 放入 void 集中吗?
谢谢!
【问题讨论】:
-
为什么将
char *s 与整数常量进行比较?这是一个违反约束的行为,你的编译器应该抱怨这个。 -
在
set函数中,height和width是指针...您应该在使用它们之前取消引用它们 (i<*height+1;) 或将它们转换为整数 (strtol(...))。