LINUX.ORG.RU

Люблю Си

 


0

2
a;
main(){
        auto b;
        scanf("%d%d",&a,&b);
        printf("%d",a+b);
        0;
}

а потом говорят, что пых поделие.

★★☆

Последнее исправление: cetjs2 (всего исправлений: 1)

Тупняк.

anonymous
()

ну вот кто так делает?

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

наоборот , становится понятней эволюция языка С.

по началу всё есть чанк(16 бит) которые именнованны, и глобальны,

поэтому и auto|register для локальных и extern для внешних,

ну и static для собственных переменных функций/файлов.

т.е так и нужно С осваивать.

qulinxao ★★☆
() автор топика
$ cc -Wall -pedantic qu.c 
qu.c:1: warning: data definition has no type or storage class
qu.c:1: warning: type defaults to ‘int’ in declaration of ‘a’
qu.c:2: warning: return type defaults to ‘int’
qu.c: In function ‘main’:
qu.c:3: warning: type defaults to ‘int’ in declaration of ‘b’
qu.c:4: warning: implicit declaration of function ‘scanf’
qu.c:4: warning: incompatible implicit declaration of built-in function ‘scanf’
qu.c:5: warning: implicit declaration of function ‘printf’
qu.c:5: warning: incompatible implicit declaration of built-in function ‘printf’
qu.c:6: warning: statement with no effect
qu.c:7: warning: control reaches end of non-void function

Ни одной строчки без предупреждения

т.е так и нужно С осваивать.

Точно

anonymous
()

Понятно, что говнокод. Но в чем проблема то?

Deleted
()

Ты о чём, о горе предупреждений? Ну да, это С виноват. И да: в толксы.

Lilly
()

А ты не пиши так. Я тебе говна могу и на хаскеле наваять.

Dark_SavanT ★★★★★
()

Си то ещё поделие, но что не так с кодом?

unsigned ★★★★
()

Мне вот просто интересно, а ты что ожидал? Вылет? Хоть коряво написано, но так можно это раз и это корректно отработает это два. Что не так в том что ты получил сумму двух интов?

Dron ★★★★★
()

Похоже это не лечится.

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

Не надо.

Надо, я еще и -Wextra добавляю, и еще некоторые, которые не входят в all и extra, вообще чем больше различного рода контроля над кодом тем лучше.

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

Не надо.

Таки надо. Егоров не должно быть.

Deleted
()
Ответ на: комментарий от Debasher

Надо. Иначе есть соблазн всякие косяки пропустить. Если что-то не компиляется с -Wall -Werror, бить томиком K&R того, кто это написал! До просветления!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Debasher

А есть какой-нибудь ключик, благодаря которому си станет строго-типизированным?

нет, т.к., если тебе это надо, то ты ошибся языком

wota ★★
()

ого сурово как!
в треде говорят что это говнокод, а я же его вообще не понял... можно комментарии к каждой строке?

reprimand ★★★★★
()

Люблю Си

Зато Си тебя не любит. И не путай чистую любовь и грубое изнасилование в особо извращённой форме.

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

А есть какой-нибудь ключик, благодаря которому си станет строго-типизированным?

Это ж диез. Но получится не совсем си.

x3al ★★★★★
()

а потом говорят, что пых поделие.

говнокод можно писать на чём угодно. На пыхе можно отстрелить ноги, на сишке — вместе с яйцами. Там ружьё больше, и удобнее поворачивается.

emulek
()

Ты не только человеческие языки коверкаешь. У тебя даже языки программирования коверкать выходит! Талант!

nanoolinux ★★★★
()
#include <stdio.h>
nop(x)
{
	return x;
}
wtf(x) 
{
	nop(x+2);
}
int main() {
	printf("%d\n",(wtf(1)));
	printf("%d\n",(nop(1),wtf()));
	printf("%d\n",(nop(1),nop(wtf()),wtf()) );
	wtf(1),printf("%d\n",nop());
	nop(wtf(1)),printf("%d\n",nop());
	nop(1),wtf(),printf("%d\n",nop());
	nop(1),nop(wtf()),printf("%d\n",nop());
	nop(1),nop(wtf()),printf("%d\n",wtf());
	return 0;
}

MKuznetsov ★★★★★
()

auto b;

Напомнили: если кто ещё не в курсе, то в новом gcc для сишечки добавили расширение __auto_type — мелочь, а приятно.

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

Не, меня интересует, что результат вычисления одной функции передается другой в качестве аргумента через запятую, без явного указания аргумента.

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

результат вычисления одной функции передается другой в качестве аргумента через запятую

Что?

#include <stdio.h>

int main (int argc, char *argv[])
{
    int a = (1,2,3);
    printf ("%d\n", a);
    return 0;
}
/tmp $ gcc comma.c 
/tmp $ ./a.out 
3

Никакой магии.

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

оператор "," тут непричём, впрочем как и стандарт.

это трюк по calling convention

можно больше:

#include <stdio.h>
nop(x){return x;}

mult(x,y) { nop(x*y);}
inc(x,y) { nop(x+y);}
dec(x,y) { nop(x-y);}

p(x){nop((printf("%d ",x),x));}

int main() {
	nop(20),p(nop()),p(nop()+1),p(nop()+2),p(nop()+3),p(nop()+4);putchar('\n');
	nop(20);p(nop());p(nop()+1);p(nop()+2);p(nop()+3);p(nop()+4);putchar('\n');

	nop(20,3),nop(dec()),nop(dec()),nop(mult()),nop(inc()),nop(inc()),p();
	nop(20,10);nop(dec());nop(dec());nop(mult());nop(inc());nop(inc()),p();

	nop(20,10);nop(dec());nop(dec());nop(mult(nop(),2));nop(inc());nop(inc()),p();
}

MKuznetsov ★★★★★
()

Приветствую уважаемые!

Мне нужно скомпилировать драйвер из исходника: http://lxr.free-electrons.com/source/drivers/media/usb/cx231xx/cx231xx-cards.... (драйвер для TV тюнера)

Пожалуйста подскажите в формате для чайника, что для этого нужно доустановить, что запускать и т.д.

Система Ubuntu 14.04 64bit.

Заранее спасибо!

anonymous
()

А что ты используешь в Си для UTF-8 строк?

menangen ★★★★★
()

Мой мозг, да что же это за тред в конце то концов!

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