LINUX.ORG.RU

эээ учимся %)


0

0

#define EOF -1

main () {

int c; int a; a = 0; while ((c=getchar()) != EOF) { putchar(c); a = 0; if (c == ' ' && a = 0) { c = '\n'; a = 1; putchar(c); } } }

при компиляции гаворит

1.9.c: In function `main':

1.9.c:12: invalid lvalue in assignment

anonymous

[aero ~] cat 1.c
#include<stdio.h>
int main() {
 int c;
 for(c=fgetc(stdin);!feof(stdin);c=fgetc(stdin)) {
  fputc(c,stdout);
 }
 return 0;
}

без всяких заморочек

grustnoe ★★
()

// скобки!

main () {
    int c;
    int a;
    a = 0; 
    while ((c=getchar()) != EOF) {
        putchar(c);
        a = 0;
        if (c == ' ' && (a = 0)) { // см. скобки
            c = '\n';
            a = 1;
            putchar(c);
        }
    }
}

hapchu ★★
()
Ответ на: комментарий от hapchu

>if (c == ' ' && (a = 0)) { // см. скобки

А ещё вдобавок вместо && (a = 0) надо писать && (a == 0)
Знак == вместо =

anonymous
()

Приятный текст. Сразу ясно, что для изучения.
a=0 в if это очень хорошо для изучения процесса прохождения граблей,
т.к. полностью выбрасывает тело if-а.
a==0 помогает фатально, т.к. перед if стоит оное присваивание,
т.е. после любого пробела будет вставлен переход на новую строку.
Чтобы эта прогрмма хотела делать ? :)

io ★★
()
Ответ на: комментарий от anonymous

насчет логики, = или == это уже дело автора представленного текста, вопрос был почему компилятор ругался.

hapchu ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.