Şyle ulaşılabilir: #include <stdio. h> #include <string. h> #define BOYUT 3 char takim = ; int main { size_t tmpuzunluk = 0; for (int i = 0; i < BOYUT; ++i) { tmpuzunluk = strlen ; for (int j = 0; j < tmpuzunluk; ++j) puts ; } return 0; }//Farklı bir yol #include <stdio. h> #include <string. h> #define BOYUT 4 char takim = ; int main { size_t tmpuzunluk = 0; int i = 0; char c = NULL; c = &takim ; tmpuzunluk = strlen(takim ); for ( i = 0; i < BOYUT tmpuzunluk; ++i) { if (c '\0') printf("%c\n", ; } puts ; system ; return 0; } YeniHarman tarafından 02/Nis/13 01:49 tarihinde düzenlenmiştir Olaylara karışmayın!

2. yi ben de anlayamadım tam olarak sorun nerde

İki boyutlu arraylere yani matrislere giriyo ondan dolayı. Sebebi c dilinde string diye birşey yoktur. C aşıkları istediği kadar bi taraflarını yırtsın var işte string "sdfa" bu diye ama değil arkadaşım. Bu bir array ve içerisinde 1 byte lık sayılar tutar ekrana bastırma sırasında bu 1 byte lık sayılar ascii karşılıklarına çevirilir ve basılır. echo "imzanız zel karakter içermemelidir";

1. soru printf("%s", takim ); çıktı: armutprintf("%s", takim +2); çıktı: mutprintf("%c", (takim +2)); çıktı: m

takim +2); çıktı: mut neden amr değil son 3? mantığı ne bunun... 2. soru: char aptr="armut"; //olsun. burada r harfi yerine w harfi nasıl yazılır diye sordum bence (aptr+1)='w' olarak atanmalı ama atanmıyor? 2. soruda ne sordugunu anladım da sorun nerden kaynaklanıyo onu anlamadım, tamam 1. soruya gelince (takim +2) armut kelimesindeki 'm'nin adresini gsteriyo printf ; komutu da o adresten itibaren okuyarak ekrana yazdırıyo neden (takim +2) 'm' i gsteriyo dersenchar takim = ; bu tanımda takim bellekte bitişik olarak şu şekilde diziliyor: armutayvaelme takim rmut burdaki a'nın adresini takim yva burdaki a'nın adresini takim lme burdaki e'nin adresini gsterir o yüzden takim +2 yazarsan işaretçi doğal olarak iki sağa kayar ve ar ut burdaki m'i gsterir sonra da onu printf("%s", takim +2); olarak kullanırsan doğal olarak m harfinden başlar ve takim 'ın yani bulunduğu blmenin sonuna kadar gider. hatta istersen printf("%s", takim +6);printf("%s", takim ); yazarsan ikisinin de çıktısı ayva olur çünkü takim +6=takim harfleri yan yana sayarsan o kadar da anlaşılmayacak bişey yok gibi

char takim = ; Burada anladığım: takim bellekte armut un bulunduğu yeri yani ilk teriminin adresini gsteriyor. Peki ben ben bu armutun 2. indisine nasıl ulaşacağım? (armut +1) mi yazmam lazım yazınca olmuyor derleyici hata veriyor. 2. sorum bununla paralel. char aptr="armut"; // tanımlı olsun. (aptr+1)=3;//ğrendiğime gre aptr ilk terimi gsteriyor +1 2. yi yani r yi gstermeli. Bana gre r yerine 3 yazmalı ama olmuyor atamıyor. Hani diziler pointeri temsil ediyordu? Diziyle yapınca dizi =3 olsa ve atama yapsam atasam 3 atanıyor ama bu şekilde pointerle atayınca olmuyor. Mantığıma yatmadı bu iş. Neden olmuyor anlamıyorum... Nerede yanlış düşünüyorum ve gerçek mantığı nedir bunun anlatırsanız sevinirim. Not: Acil çünkü acilen anlayıp geçmek istiyorum. https://www.youtube.com/watch?v=WC3-71NKwPw

char takim = ; Burada anladığım: takim bellekte armut un bulunduğu yeri yani ilk teriminin adresini gsteriyor. Peki ben ben bu armutun 2. indisine nasıl ulaşacağım? (armut +1) mi yazmam lazım yazınca olmuyor derleyici hata veriyor. 2. sorum bununla paralel. char aptr="armut"; // tanımlı olsun. (aptr+1)=3;//ğrendiğime gre aptr ilk terimi gsteriyor +1 2. yi yani r yi gstermeli. Bana gre r yerine 3 yazmalı ama olmuyor atamıyor. Hani diziler pointeri temsil ediyordu? Diziyle yapınca dizi =3 olsa ve atama yapsam atasam 3 atanıyor ama bu şekilde pointerle atayınca olmuyor. Mantığıma yatmadı bu iş. Neden olmuyor anlamıyorum... Nerede yanlış düşünüyorum ve gerçek mantığı nedir bunun anlatırsanız sevinirim. Not: Acil çünkü acilen anlayıp geçmek istiyorum. 1. Arraylerde 0dan baslanir sayilmaya. Dolayisiyla takim dersen ayvaya erisirsin. 2. armut yazmissin, armut bir array olarak tanimlanmamis. Hata vermesi normal. Armutun ikinci indisine, yani 'm' harfine ulasmak istiyorsan takim yazmalisin. 3. Bilmiyorum. Pragmatism&Realism

takim +2); çıktı: mut neden amr değil son 3? mantığı ne bunun... 2. soru: char aptr="armut"; //olsun. burada r harfi yerine w harfi nasıl yazılır diye sordum bence (aptr+1)='w' olarak atanmalı ama atanmıyor? zeybekustasi tarafından 01/Nis/13 21:24 tarihinde düzenlenmiştir https://www.youtube.com/watch?v=WC3-71NKwPw