Направляете правильный путь на матричном коде c? - PullRequest
0 голосов
/ 25 сентября 2010

Мой инструктор сказал, что для начала нужно использовать функцию getline () из книги, затем получить числа из строки, затем эти числа в матричной форме, я не понимаю, почему я бы использовал getline? 1001 *

// в конечном итоге этот код должен принимать квадратную матрицу и от 2x2 до 6x6 // план состоит в том, чтобы заставить его читать в строке, а затем получить числа из строки, // затем распечатываем числа в матричной форме. Это цель на сегодня. // позже я попытаюсь заставить фактическую матричную часть работать

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

//error list for error checking will need later I guess (from my notes)
#define ENDOFFILE -1 
#define TOOMANYNUMS -2
#define LIMIT  256

//functions declared
int get_line(char line[], int);

//main
main(){
char line[255];
int num[6];
printf("Please input numbers %c: ", line);
get_line(line,LIMIT);


}

//functions 
  int get_line(char s[],int lim){
  int c, i;
    for (i=0;i<lim-1 && (c=getchar())!=EOF && c!='\n'; ++i)
  s[i] = c;
if(c=='\n'){
s[i]=c;
  ++i; 
}
s[i]='\0';
return i;
}

Ответы [ 2 ]

1 голос
/ 25 сентября 2010

Функция getline (char [], int) читает символы из консоли с помощью getchar () и сохраняет их в массиве s []. Массив s [] указывает на ту же память, что и массив line [] в функции main ().

1 голос
/ 25 сентября 2010

getline не только возвращает длину строки, но и копирует первую строку в параметр s.Поэтому после вашего вызова getline(line,LIMIT) (который, кстати, не хранит возвращаемое значение), переменная line будет содержать первую строку.

Редактировать: я также должен указать, чтоваш printf чуть выше вызова getline ссылается на переменную line, которая неинициализирована, и массив символов, а не один символ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...