Pic C'de kod atlatma

Başlatan tolkien, 06 Ocak 2010, 20:00:15

tolkien

Arkadaşlar şöyle bir algoritmam var

while(1)
{
if a==...
{
  if x==0001 ise
  x=0010 yap

  if x==0010 ise
  x=0100 yap
}
}

Burada birinci iften sonra ikinci if'i atlatçak kod nedir. Yani birinci if'teki koşul sağlanırsa hemen altına 2. if'i es geç demek istiyorum. Bunu PIC C'de nasıl yaparız?

Tagli

İkinci "if" yerine "else if" yazmayı dene. PIC-C bilmiyorum ama genelde bu iş böyle yapılır.
Gökçe Tağlıoğlu

salih18200

goto label;

////atlanacak kod

label:

Logan

Salih Bey, C dilinde "goto" komutu vardır fakat şimdiye kadar hiç kullanma gereği duymadım. Birçok C programcısıda bu komutu neredeyse hiç kullanmaz. Bunun sebebi ise C dilinin fonksiyonelliğidir.

tolkien, programını aşağıdaki gibi değiştirirsen istediğini elde etmiş olursun.

while (1) {

     if (x==1) { x=10; }
     else {
               if (x==10) { x=100; }
     }
}
İmza.

digifuzyon

while(1)
{

if(a==...)
{
    if(x==0010)
    {
      x=0100;
    }


}
else if(x==0001)
{
x=0010

}

}

bunun haricinde arkadaşlarında dedigi gibi goto komutu ama tavsiye etmem

tolkien

Çok hızlı cevap verildi arkadaşlar. Çok teşekkür ederim. Logan dediğin tam istediğim cevaptı.

else if kullan diyenler var fakat else if olmuyor. Çünkü else if kullanınca hemen alt satırda koşulu bir kez daha kontrol ediyor.

Tagli

Alıntı yapılan: "tolkien"else if kullan diyenler var fakat else if olmuyor. Çünkü else if kullanınca hemen alt satırda koşulu bir kez daha kontrol ediyor.
Normalde etmemesi lazım ama dediğim gibi PIC-C bilmediğim için bu yorumumda ısrarcı olamam. Bilgisayardaki C'de etmez ama.
Gökçe Tağlıoğlu

orhanc

Koşul sağlanmıyorsa elseleri kontrol eder tabi ki ...
i'm doing nothing... Giddy Up  http://www.drorhan.com