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

  • infiniTuts

    infiniTuts

    18 Ocak 2012
  • jesiel santos

    jesiel santo

    15 Ocak 2009
  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013