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

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • Random Act of Kindness Video Contest

    Random Act o

    18 EYLÜL 2012
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011