[Çözüldü] C hakkında bir sorun

Başlatan !b0, 24 Ocak 2009 - 13:18:19

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

!b0

Merhaba arkadaşlar,

C programlamaya yeni başladım. Hiç bir bilgim yok. "Merhaba Dünya" örneğinde takıldım :D

#include<stdio.h>
int main( void )
{
printf("Kahpe Dünya!");
}


kodunu derledikten sonra çalıştırdığımda böyle birşeyle karşılaşıyorum;

coder@acik-kaynak-cw:~/Masaüstü$ gcc abc.c -o kod
coder@acik-kaynak-cw:~/Masaüstü$ ./kod
coder@acik-kaynak-cw:~/Masaüstü$ ~/Masaüstü$



Kodu aşağıdaki gibi değiştirince;

#include<stdio.h>
int main( void )
{
printf("Kahpe Dünya!\n");
}


şu çıktıyı alıyorum;

coder@acik-kaynak-cw:~/Masaüstü$ gcc abc.c -o kod
coder@acik-kaynak-cw:~/Masaüstü$ ./kod
Kahpe Dünya!


"\n" alt satıra geçmek için kullanılmıyor muydu? Burada "\n" olmadığı zaman, kod niye doğru dürüst çalışmıyor?

Yardımlarınız için şimdiden Teşekkür ederim =)

Yiğit Ateş

Valla c hakkında ben de hiçbir şey bilmiyorum. Fakat python c'ye nazaran çok daha kolay bir dil python'la başlaman çok daha kolay olur senin açından.
print "Merhaba Dünya" :)

!b0

Python'a başlamıştım ama bıraktım. Çok kolay geldi. Beni zorlayacak bir dil arıyordum ve C'yi seçtim.

Ayrıca Python hakkında 1 tane Türkçe kitap var. O da piyasada yok. Millet Python kitabı arıyor. Mustafa amcam yeni bir baskı çıkarmıyor  >:( Belki çeşitli sorunları vardır, bilemiyorum.  Günahına girmeyelim  :D

Sonuç olarak C konusunda ısrarcıyım :)

Yanıtın için teşekkürler samurai5205

heartsmagic

@!b0, bende ilk verdiğin kod da basıyor yazıyı.

serkan@lenovoboy:~$ cat dunya.c
#include<stdio.h>
int main(void)
}
printf("Kahpe Dünya!");
}
serkan@lenovoboy:~$ ./kod
Kahpe Dünya!serkan@lenovoboy:~$



Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

Sypro

İlle de olmuyorsa cout kullanabilirsiniz, #include <iostream> eklersiniz üst kısma, printf yerine cout ile çıktı alırsınız.

not: cout pek kullanam, yanlış hatırlamıyorum değil mi?


"Milliyetin çok belirgin vasıflarından biri dildir. Türk milletindenim diyen insan, her şeyden evvel ve mutlaka Türkçe konuşmalıdır. Türkçe konuşmayan bir insan, Türk kültürüne, topluluğuna bağlılığını iddia ederse buna inanmak doğru olmaz."

acemiyim91

Kodlarda hata gözükmüyor O.o
Bu arada temel alt yapıyı www.cagataycebi.com dan alabilirsin :)

!b0

@heartsmagic

Benim makinede bir sorun var ama anlayamadım  ::)

Şimdi de kodu şu şekilde kaydediyorum;

#include<stdio.h>
int main( void )
}
printf("Kahpe Dünya!");
}


ama kontrol ettiğim zaman son küme parantez işareti çıkmıyor  :-\

coder@acik-kaynak-cw:~/Masaüstü$ cat abcd.c
#include<stdio.h>
int main( void )
}
printf("Kahpe Dünya!");


Nano editörü ile kontrol ediyorum "}" işaretini kullandığım görülüyor ama  derleme yaptığım zaman sorun çıkartıyor  >:(

Cevabın için teşekkürler @heatsmagic

@Sypro

coder@acik-kaynak-cw:~/Masaüstü$ cat abcd.c
#include <iostream>
int main( void )
}
cout("Kahpe Dünya!");
}
coder@acik-kaynak-cw:~/Masaüstü$ gcc abcd.c -o kod
abcd.c:1:20: error: iostream: No such file or directory
abcd.c: In function 'main':
abcd.c:3: hata: expected declaration specifiers before '}' token
abcd.c:4: hata: expected declaration specifiers before 'cout'
abcd.c:5: hata: expected declaration specifiers before '}' token
abcd.c:5: hata: expected '{' at end of input
coder@acik-kaynak-cw:~/Masaüstü$


@acemiyim91

www.cagataycebi.com  buradan çalışıyorum zaten :D

Verilen yanıtlar için teşekkürler

heartsmagic

cout C++ için değil miydi?
@!bo gedit kullan gedit, güzeldir :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

!b0

Alıntı yapılan: heartsmagic - 24 Ocak 2009 - 16:25:32
cout C++ için değil miydi?
@!bo gedit kullan gedit, güzeldir :)

Abi kate, kwrite, gedit vs vs kullanmadığım kalmadı :)

En son gedit ile yaptığım;

coder@acik-kaynak-cw:~/Masaüstü$ cat asd.c
#include<stdio.h>
int main( void )
}
        printf("Kahpe Dünya!");
}
coder@acik-kaynak-cw:~/Masaüstü$ gcc asd.c -o kod
asd.c: In function 'main':
asd.c:3: error: expected declaration specifiers before '}' token
asd.c:4: error: expected declaration specifiers before 'printf'
asd.c:5: error: expected declaration specifiers before '}' token
asd.c:5: error: expected '{' at end of input


Sorun gcc'de olabilir mi  ::)

atomkarinca

Bana mı öyle geliyor yoksa ilk } yerine { olması gerekmiyor mu?

!b0

@atomkarinca

:) Orayı yanlış yapmışım :) Pardon :) Ama benim sorunum o değil :)

Ayrıca heartsmagic in yazdığı mesajdan almıştım orayı :D Onunki nasıl çalıştı? Bkz: 4. Mesaj

coder@acik-kaynak-cw:~/Masaüstü$ cat asd.c
#include<stdio.h>
int main( void )
{
printf("Kahpe Dünya!");
}
coder@acik-kaynak-cw:~/Masaüstü$ gcc asd.c -o kod
coder@acik-kaynak-cw:~/Masaüstü$ ./kod
coder@acik-kaynak-cw:~/Masaüstü$ ~/Masaüstü$

!b0

@2600

coder@acik-kaynak-cw:~/Masaüstü$ gcc -o kod asd.c
gcc: asd.c: No such file or directory
gcc: girdi dosyası yok


coder@acik-kaynak-cw:~/Masaüstü$ gcc -o asd.c dosya.c
gcc: dosya.c: No such file or directory
gcc: girdi dosyası yok


Ayrıca imzan harika :D Farkettim de; Türk Linux kullanıcılarının büyük çoğunluğu Sagopa Kajmer hayranı. Ben dahil :)

heartsmagic

Ben geçirirken yanlışlık olmuş {} arasında. @!ibo sen güzelce sil o dosyayı tekrar yaz bence.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

Sypro

Oyy C denmiş. Ben kaçırmışım. Cout zaten direkt olarak printf yerine yazılarak çalıştırılan bir şey değil.    cout << "METİN" << endl; gibi bir satır oluyor normalde. C ise zaten bundan bahsetmeye gerek yok. Kaldı ki sorun gözükmüyor kodda. İlginç ne diyim:)


"Milliyetin çok belirgin vasıflarından biri dildir. Türk milletindenim diyen insan, her şeyden evvel ve mutlaka Türkçe konuşmalıdır. Türkçe konuşmayan bir insan, Türk kültürüne, topluluğuna bağlılığını iddia ederse buna inanmak doğru olmaz."

!b0

@heartsmagic

Masaüstümde 3-4 tane c dosyası oldu :) Hepsini silip yeniden  gedit ile denedim. Yeni bir terminal açtım ve aynen kopyalıyorum;

coder@acik-kaynak-cw:~$ cd Masaüstü
coder@acik-kaynak-cw:~/Masaüstü$ gcc ilk.c
coder@acik-kaynak-cw:~/Masaüstü$ cat ilk.c
#include<stdio.h>
int main( void )
{
printf("Kahpe Dünya!");
}
coder@acik-kaynak-cw:~/Masaüstü$ ./a.out
coder@acik-kaynak-cw:~/Masaüstü$ ~/Masaüstü$


"~/Masaüstü$ " bu bölüm silinmiyor.  Ancak bir harfe bastığım zaman ilk karakter o harf oluyor, 2. harfe bastığım zaman 2. karakter o harf oluyor. Klavyeden üst tuşuna bastığım zaman önceki komut u gösteriyor.

İlk örnek "Kahpe Dünya!" olursa tabiki sorunla karşılaşırız :D Şansa bak :D Gcc bana küstü  :P

!b0

Baktım baktım :) Zaten oradaki gibi dosyanın adını "ilk.c" olarak kaydettim. Sonra a.out dosyasını çalıştırdım ama olmadı. Tekrar bakıyorum.

!b0

coder@acik-kaynak-cw:~$ cd Masaüstü
coder@acik-kaynak-cw:~/Masaüstü$ cat ilk.c
#include <stdio.h>
int main()
{
  printf("Örnek uygulama");
}

coder@acik-kaynak-cw:~/Masaüstü$ gcc ilk.c
coder@acik-kaynak-cw:~/Masaüstü$ ./a.out
coder@acik-kaynak-cw:~/Masaüstü$ w:~/Masaüstü$


kodu değiştirdim;


coder@acik-kaynak-cw:~/Masaüstü$ cat ilk.c
#include <stdio.h>
int main()
{
  printf("Örnek uygulama\n");
}

coder@acik-kaynak-cw:~/Masaüstü$ gcc ilk.c
coder@acik-kaynak-cw:~/Masaüstü$ ./a.out
Örnek uygulama
coder@acik-kaynak-cw:~/Masaüstü$



!b0

#17
Biliyorum ama * maalesef olmuyor  ::) Sistemimde hem gnome-terminal hem de konsole var. Kde4 yüklemiştim. İkisinden de deniyorum olmuyor :(

Ubuntu'yu yeniden kurmalı mıyım?

!b0

Benim şimdilik çıkmam gerekiyor. Sonra görüşürüz, İlgilenen herkese Teşekkür ederim :)

heartsmagic

İlginç bir problem. Terminal için kendine göre bir ayarlama yapmış mıydın?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

!b0

Terminaldeki yazıları beyaz, arkaplanı siyah yaptım. Ayrıca biraz şeffaflaştırdım. Pek değişiklik yapmadım. Şimdi yeni kullanıcı oluşturdum ve hiç bir değişiklik yapmadan onunla denedim. Sonuç olumsuz   ::) Format atmak da istemiyorum. Bu sorunu halledebilirsem, bu konuda bilgim az da olsa artacak.

heartsmagic

http://forum.ubuntu-tr.net/index.php/topic,6564.msg77039.html#msg77039

@erginemr'in yukarıdaki iletisini görünce aklıma geldi, buraya durumu bildirmemiştik, şimdi anlatayım.
@!ib0'nun sistemine o gece SSH ile bağlanıp bir süre durumu anlamaya çalıştım. En sonunda meselenin Türkçe karakter içeren dizinlerde yeni satır meselesinin çalışmaması olduğunu fark ettim. Bu nedenle C içinde işlediğimiz \n çalışmıyor. Hatta echo ile de durum aynı. Bu bir terminal böceği olabilir diye düşünüyorum.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

erginemr

Alıntı yapılan: heartsmagic - 06 Şubat 2009 - 14:58:51
http://forum.ubuntu-tr.net/index.php/topic,6564.msg77039.html#msg77039

@erginemr'in yukarıdaki iletisini görünce aklıma geldi, buraya durumu bildirmemiştik, şimdi anlatayım.
@!ib0'nun sistemine o gece SSH ile bağlanıp bir süre durumu anlamaya çalıştım. En sonunda meselenin Türkçe karakter içeren dizinlerde yeni satır meselesinin çalışmaması olduğunu fark ettim. Bu nedenle C içinde işlediğimiz \n çalışmıyor. Hatta echo ile de durum aynı. Bu bir terminal böceği olabilir diye düşünüyorum.

Ama @heartsmagic, o başlığın devamında Intrepid'de Türkçe karakter içeren "Masaüstü" dizini altında, içinde "\n" bulunan bir programı derleyip çalıştırabildik.  ::)

heartsmagic

Düzeltiyorum :D
\n olmayan satırları basarken sorun oluyor :D (Evet yaşlanıyorum sanırım).

Şu an Jaunty üzerinde de denedim durum aynı.

Hemen şöyle deneyebilirsiniz:

cd ~/Masaüstü
echo -n Deneme
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

erginemr

Evet, aynı şey bende de oluyor. İlginç bir hata...