【发布时间】:2014-11-09 09:03:24
【问题描述】:
我不知道哪里出了问题。第一个功能 readline 工作完美,但第二个功能不起作用。错误:赋值使指针从整数而不进行强制转换。
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE 1024
char line[MAX_LINE];
int line_length = 0;
int pocet_radek=0;
int input;
char cell;
char* readline(char* line){
line[line_length] = 0;
while ( (input = getchar()) != '\n' && line_length < MAX_LINE - 1) {
line[line_length] = input;
line_length++;
}
pocet_radek++;
printf("%d\n", pocet_radek);
return line;
}
char* read_cell(char* line, char* cell){
int i;
for(i=0;i<line_length;i++){
if( line[i]!=' ' || line[i]!='\n')
cell=line[i];
}
return cell;
}
int main()
{
printf("%s",readline(line));
printf("%s",read_cell(line, cell));
return 0;
}
【问题讨论】:
-
为什么将变量作为参数传递?它们是全局变量,可以直接在函数中使用