İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C`de Garip Bir Sorun

serkay157814.11.20127 cevap1.333 görüntüleme
#1
Merhaba okul nedeniylse bu dili öğreniyoruz mecbur.C++ varken bence çok gereksiz olmasına rağmen.. neyse

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    char karar[1];
    do {
        printf("Tekrar ?");
        scanf("%s",karar);
    }while(karar != "n");
    return 0;
}




Bu kodun problemi nedir arkadaşlar ? n bile yazılsa döngüden çıkmıyor.
Cevaplar
#2
n çift tırnaklı değil tek tırnaklı yap while(karar != 'n');

galiba sanırım hatanın bu olması lazım.. veya scanf de de bi sorun olabilir char lar %s ilemi alınıyodu hatırlamıyorum.
serkay1578 Konuyu açan
#3
crazzy.x dedi: ↑
n çift tırnaklı değil tek tırnaklı yap while(karar != 'n');

galiba sanırım hatanın bu olması lazım.. veya scanf de de bi sorun olabilir char lar %s ilemi alınıyodu hatırlamıyorum.
Tek tırnak işe yaramadı
Misafir
#4

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>


int main()
{
    char karar[1];
    do {
        printf("Tekrar ?");
        scanf("%s",karar);
    }while(*karar != 'n');
    return 0;
}


Misafir
#5
neden array şeklinde tanımladın. "char karar;" yazıp scanf ilede alırken %c ile al bakayım.
#6
char karar[2]; şeklinde 2 karakter dizesi yazılırsa oluyor
scanf ile
char[0] = 'n'
char[1] ='\0' otamatik geri dönüyor
#7
Farklı bir çözüm olabilir...

char karar;
    do {
        printf("\nTekrar :");
        karar=getch();
        //printf("%c",karar);//kontrol için
    }while(karar != 'n');
printf("Devam etmek icin bir tusa basın...");
getch();
#8
scanf'i %c ile al n tek tırak yap. Büyük ihtimal düzelir :)

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.