Çözüldü C Kodundaki hata ne?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

KAANYTD

Hectopat
Katılım
28 Mart 2021
Mesajlar
67
Daha fazla  
Cinsiyet
Erkek
1617620896815.png


Arkadaşlar Z'yi 6 ya eşitlemem rağmen üstte yazdığım değeri de yanına yazıyor. Nasıl düzeltebilirim?
 
Çözüm
Bu sefer Z :62 değerini yazdı.
Çünkü üsteki printf 1 karakter fazla ve aşağıdaki printf onun tüm karakterlerini kaplayamıyor. \r'nin yaptığı şey karakterlerin üstüne yazmak. Anladın mı?

Yani asıl yapman gereken bu;

C:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
  int x,y,z;

  x = 5;
  y = 7;
  z = 2;

  x = y;
  y = x + z + 1;

  printf("x:%d y:%d z:%d", x, y, z);

  system("clear");

  x = 4;
  y = 5;
  z = 6;

  printf("x:%d y:%d z:%d", --x, ++y, z++);

  return 0;
}

Ama bu da anlamsız. Bunun yerine üstteki printf'i sil.
@KAANYTD ilk printf'in yazdırdığı şey bu: x:7 y:10 z:2

İkinci printf de bunu yazmaya çalışıyor: x:3 y:6 z:6

\r'nin yaptığı şey de ilk printf'in yazdıklarını silip, 2. printf'i yazmak. Ama 2. printf karakterleri 1 tane az olduğu için ilk printf'in tüm karakterlerini silemiyor ve sondaki 2 kalıyor.
 
Çünkü üsteki printf 1 karakter fazla ve aşağıdaki printf onun tüm karakterlerini kaplayamıyor. \r'nin yaptığı şey karakterlerin üstüne yazmak. Anladın mı?

Yani asıl yapman gereken bu;

C:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
int x,y,z;

x = 5;
y = 7;
z = 2;

x = y;
y = x + z + 1;

printf("x:%d y:%d z:%d", x, y, z);

system("clear");

x = 4;
y = 5;
z = 6;

printf("x:%d y:%d z:%d", --x, ++y, z++);

return 0;
}

Ama bu da anlamsız. Bunun yerine üstteki printf'i sil.

Çok sağ ol yardımın için teşekkürler.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı