2010-06-15 21 views

cevap

21

Hayır, %% çıkışları,% sağ dizimi yani: printf (:

printf("%%%s%%",string); 
+5

+1: Kelime için cevap kutusuna ne yazdım. :) – sdolan

8

sayılı

Kullanım %%%s%%

+0

açıklama: %% bir karaktere kaçıyor. % s bir kontrol kodudur. –

0

Böyle bir dize yazdırabilirsiniz "% s", SomeString);

Çalışmalı!

+0

Buradaki nokta, biçimlendirilmiş dizenin solunda ve sağında% işareti çıktı. – bezmax

+0

Oh tamam, o yazıya bir hata yaptığını düşündüm! – Daniel

3

Bu çözüm, '%' veya '\' gibi özel printf karakterlerinin nasıl yazdırılacağını bilmenizden vazgeçirir.

#include <stdio.h> 

int main(void) 
{ 
    const char str[]="MyString"; 
    printf("%c%s%c",'%',str,'%'); 
    return 0; 
} 
+1

Bu biraz aşırı sıkıcı değil mi? 'printf''% 'için uygun bir kaçış karakterine sahip, bu yüzden neden kullanmıyorsunuz? Sorun hatırlıyorsa ... iyi, sadece bir Google araması. – nico

+0

Beni yanlış anlamayın, %% veya \\ dizilerini biliyor olsaydım bunu kullanmazdım ama yine de bence de bunu bilmek güzel. – INS

+3

Evet, bunu gerçekleştirebileceğinizi anlamanız güzel. İnsanların printf'ın ne yaptığını anlamasına yardımcı olacağını düşünüyorum. Ama bunu üretimde yapmayın. :) – BobbyShaftoe

5
printf("%%%s%%", string); 

çıkış% her yan olmalıdır.