SORU
15 Mayıs 2012, Salı


C/tek ve çift tırnak C

18* *soru bakıyordum. Bir program yazdım tamamen açıklama yapılmamış anlayamadım

#include <stdio.h>
int main()
{
  char ch = 'a';
  printf("sizeof(ch) :%d\n", sizeof(ch));
  printf("sizeof(\'a\') :%d\n", sizeof('a'));
  printf("sizeof(\"a\") :%d\n", sizeof("a"));
  printf("sizeof(char) :%d\n", sizeof(char));
  printf("sizeof(int) :%d\n", sizeof(int));
  return 0;
}

İkisini de gcc ve g kullanarak ve bu benim çıkışlarını derlenmiş

gcc:

sizeof(ch)   : 1  
sizeof('a')  : 4  
sizeof("a")  : 2  
sizeof(char) : 1  
sizeof(int)  : 4  

g :

sizeof(ch)   : 1  
sizeof('a')  : 1  
sizeof("a")  : 2  
sizeof(char) : 1  
sizeof(int)  : 4  

G çıktı bana mantıklı ve herhangi bir şüphe ile ilgili yok. Gcc ne sizeof('a') sizeof(char) farklı olmak zorunda. Arkasındaki gerçek nedeni yoksa sadece tarihi var mı?

char 'a' farklı olup olmadığını da C boyutu yapıyoruz ne demek char ch = 'a'; yapıyoruz tür dönüştürme örtülü?

CEVAP
15 Mayıs 2012, Salı


C 'a' gibi karakter sabitler int C char türü var.

Son soru, Evet ile ilgili

char ch = 'a';

char int bir örtük dönüştürme neden olur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • JonnyEthco

    JonnyEthco

    5 EKİM 2006
  • pjtoohot

    pjtoohot

    15 NİSAN 2008