2016-04-02 12 views
0

almayı sürdürüyorum Her giriş satırını tersine çeviren bir program yaz. Giriş hatlarından hiçbirinin 100 karakterden uzun olmayacağını varsayabilirsiniz.

#include<stdio.h> 

int main() { 
    char c[100]; 
    fgets(c,100,stdin); 
    for(int i=sizeof(c); i>=0; i--) { 
     printf("%c",c[i]); 
    } 
} 

Çalıştırdıktan sonra, sonuçlar ve özel işaretler alabilirim. Her zaman 100 olacaktır. strlen(c), kullanıcının yazacağı karakter sayısı olacaktır.

cevap

4

sizeof(c). strlen(str) size gelen C tarzı dizesi uzunluğunu anlatırken

+1

Ancak,

+0

'u dahil etmeniz gerekiyor Evet, gerçekten işe yarıyor! Ama yeni soru şu ki, bir şey girdikten sonra, çıktı kendi başına bir satır beslemesi alacaktır .. Nasıl olur .. Çok teşekkür ederim! – forfun

+0

@forfun: ['fgets()'] belgesini okuyalım (http://en.cppreference.com/w/c/io/fgets): _ Dosya sonu oluşursa veya satırsonu karakteri çıktığında durdurma durur bulundu, hangi durumda str bu yeni satır karakterini içerecek –

0

sizeof c char bir dizinin boyutu ortaya çıkarır. Senin durumunda, daha sonra aranır.

Ancak yeni soru I girdi şey kez çıktı boş-terminatör ile '\ n' üzerine yazmak başlı başına

Kullanım c[strlen(c) - 1] = '\0' bir satır beslemeyi alacak olmasıdır.

İlgili konular