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

  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • Joe DiFeo

    Joe DiFeo

    7 AĞUSTOS 2012
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007