2011-05-04 16 views

उत्तर

20

6 अक्षर: EFG\r\n\0

आप खुद के लिए यह देख सकते हैं चलाकर:

char a [] = "EFG\r\n" ; 
int length = sizeof(a), i; 
for(i = 0; i < length; i++) 
{ 
    printf("0x%02x ", a[i]); 
} 
// 0x45 0x46 0x47 0x0d 0x0a 0x00 
:

char a [] = "EFG\r\n" ; 
printf("%d\n", sizeof(a)); 
// 6 

निम्नलिखित कोड आप प्रत्येक बाइट के लिए मूल्य से पता चलता

+0

डी ओह, मैंने अपनी छोटी टीएमपी दुनिया में बहुत लंबा समय बिताया। :) – Xeo

+0

एनबी: आपको आकार के साथ कोष्ठक की आवश्यकता नहीं है। – Johnsyweb

48

6, सबूत के साथ Ideone (त्रुटियों को देखें)।


संपादित करें: वास्तव में, उदाहरण के पहली बार में इस तरह देखा:

#include <iostream> 

template<class T, int N> 
int length_of(T (&arr)[N]){ 
    return N; 
} 

int main(){ 
    char a [] = "EFG\r\n" ; 
    std::cout << length_of(a) << std::endl; 
} 

लेकिन मैं इसे कम रखने और शामिल बचना चाहते थे। :)

+8

हाहा वाह यह जवाब दिखाने का एक शानदार तरीका है ... इच्छा डबल- अपवोट – Claudiu

+1

दिखाने के लिए बहुत साफ तरीका !! ;) – Nim

संबंधित मुद्दे