Я должен создать связанный список с каждым узлом, имеющим структуру:Чтение данных в список узлов
struct stack{
char paint;
int index;
struct stack *next;
}
typedef struct stack s;
Я должен создать связанный список с т узлами путем считывания м входов, таких как:
A 7
B 2
C 1
D 4 ....
поэтому я попытался использовать для цикла , как это, которое не удается, а также я попытался последовательны scanf
сек как
scanf("%c",&c);
scanf("%d",&b);
Я также попытался это:
for(i=0;i<m;i++)
{
scanf("%c %d",&c,&b);
temp=(s *)malloc(sizeof(s));
temp->paint=c;
temp->index=b;
temp->next=head;
head=temp;
temp=NULL;
}
Что я делаю неправильно? Я действительно боюсь scanf
, поэтому я обычно использую getchar
все время и, если возможно, объясните, как работает scanf
при вводе с терминала или файлов, имеющих n
строк входов. А также альтернативный оператор while((c=getchar())!='\n')
с использованием scanf
?
Можете ли вы уточнить * ..., который терпит неудачу ... *? В противном случае? – lurker
Вы действительно должны проверить результаты своих вызовов функций; в частности, убедитесь, что 'scanf' возвращает 2 (прочитайте 2 поля). И вы не читаете пробелы после каждой строки (добавьте пробел в конец строки формата). – Dmitri
@lurker идет в цикл for, и ничего не происходит, все, что я вижу, - это терминал, ожидающий ввода – sarat