假设ch是char类型,请问sizeof(ch)是多少? 若有 定义 char ch;

int n, x; char ch='A'; (x=5*8,x+2,x++),x*2; n=x+sizeof(ch+1); printf("n=%d\n",n); } \u600e\u4e48\u7b97\u7684

int n, x; char ch='A'; (x=5*8,x+2,x++),x*2; /*\u8fd9\u91cc\u662f\u9017\u53f7\u8fd0\u7b97\u7b26\u3002 \u4ece\u5de6\u5230\u53f3\u4f9d\u6b21\u8ba1\u7b97x=40 x+2=42 x++\u540e\uff0cx=41 \u6700\u7ec8\u7684x*2=8282\u662f\u8fd9\u4e2a\u8868\u8fbe\u5f0f\u7684\u503c\uff0c\u4f46\u5bf9\u7ed3\u679c\u6ca1\u5f71\u54cd\u3002 \u53ea\u6709x\u503c\u5bf9\u540e\u7eed\u6709\u5f71\u54cd\u3002 x=41*/n=x+sizeof(ch+1); //ch\u662f\u5b57\u7b26\u578b\uff0cch+1\u4e3a\u6574\u578b\u3002 \u4e8e\u662fsizeof(ch+1)=sizeof(int)=4//n=x+4=41+4=45printf("n=%d\n",n); //\u8f93\u51fa\u4e3a n=45

1\u3001char *p;p=&ch;
/*\u7b2c\u4e00\u4e2a\u8bed\u53e5\u5b9a\u4e49\u4e86\u4e00\u4e2a\u6307\u5411char\u7c7b\u578b\u7684\u6307\u9488\uff0c\u7b2c\u4e8c\u53e5\u901a\u8fc7\u8fd0\u7b97\u7b26&\u83b7\u53d6ch\u7684\u5730\u5740\uff08\u5047\u8bbe\u6b64\u65f6ch\u5df2\u7ecf\u88ab\u8d4b\u503c\uff09\u518d\u8d4b\u7ed9\u6307\u9488p\u3002*/
2\u3001char *p=malloc(sizeof(char));*p=ch;
/*\u7b2c\u4e00\u4e2a\u8bed\u53e5\u7684sizeof\uff08char\uff09\u662f\u6c42\u5f97char\u7c7b\u578b\u7684\u5b57\u8282\u6570\uff0c\u7136\u540e\u518d\u7528malloc\u51fd\u6570\u5f00\u8f9fsizeof(char)\u4e2a\u5b57\u8282\u7684\u7a7a\u95f4\uff0c\u5e76\u4e14\u5c06\u8fd9\u4e2a\u65b0\u5f00\u8f9f\u7684\u7a7a\u95f4\u7684\u9996\u5730\u5740\u8d4b\u503c\u7ed9\u4e00\u4e2achar\u7c7b\u578b\u7684\u6307\u9488p\u3002
\u7b2c\u4e8c\u4e2a\u8bed\u53e5\u662f\u5c06ch\u653e\u5165\u6307\u9488p\u6307\u5411\u7684\u5185\u5b58\u7a7a\u95f4\u4e2d\u3002*/

结果是1.char只占一个字节宽度。

c,c++都是占1个字节。

java语言为2,C语言为1

char word1[]="life is so cool"; 等价于
char word1[]={'l','i','f','e',' ','i','s',' ','s','o',' ','c','o','o','l'}; 等价于
char word1[0]='l';
char word1[1]='i';
char word1[2]='f';
char word1[3]='e';
char word1[4]=' ';
char word1[5]='i';
char word1[6]='s';
char word1[7]=' ';
char word1[8]='s';
char word1[9]='o';
char word1[10]=' ';
char word1[11]='c';
char word1[12]='o';
char word1[13]='o';
char word1[14]='l';
char word1[15]='\0';//结束标志
cout<<word1;word1是数组名,也是一个指针,是一个数组的起始地址,cout后面跟数组名word1代表的是输出整个字符串。在数组操作时,cout的用法和输出一个普通变量不同。比如int a=5;cout<<a;就会输出5. 但是对于数组来说,cout后面就要跟一个指针了。这个指针就是数组名。所以楼主要更正cout后面只能跟变量这样的思维定势。

第二问:
char word1[]={'l','i','f','e',' ','i','s',' ','s','o',' ','c','o','o','l'};
char *word2[]={"life","is","so","cool"};
请类比下,上面表达式中,每个元素是不是就是一个字符?比如'l','i','f','e',' ','i','s',' ','s','o',' ','c','o','o','l'这些都是char类型对吧
下面表达式中,"life" "is" "so" "cool"都是string类型也就是char *
所以word2前面要用char *,表明元素类型是字符串
word2[0]="life";
word2[1]="is";
word2[2]="so"
word2[3]="cool"
cout<<word2[0] 将会输出life
后面依次类推
可以上机试试哦 呵呵

  • 鍋囪ch鏄痗har绫诲瀷,璇烽棶sizeof(ch)鏄灏?
    绛旓細缁撴灉鏄1.char鍙崰涓涓瓧鑺傚搴︺
  • ch鏄痗har绫诲瀷,switch(ch +1){}瀵瑰悧?姹傝瑙
    绛旓細鍙互锛屼細璁$畻ch+1锛屼唬鍏witch銆俰nclude <stdio.h>main(){char a='A';switch(a+1){case 'B': printf("B!\n");break;default: printf("Not B!\n");break;}}
  • 鍋囪ch鏄痗har绫诲瀷鐨勫彉閲忋傚垎鍒娇鐢ㄨ浆涔夊簭鍒楀崄杩涘埗鍊煎叓杩涘埗瀛楃甯搁噺鍜屽崄...
    绛旓細杩欐槸鍥犱负鍥炶溅绗︾殑ASCII鐮佺殑鍗佽繘鍒跺煎氨鏄13鐨勭紭鏁呫傛墍浠ヨ繖涓浆涔夊簭鍒楀氨鏄ch='\n';鍗佽繘鍒跺煎氨鏄痗h=13;鍏繘鍒跺瓧绗﹀父閲忓氨鏄痗h='\015';16杩涘埗瀛楃甯搁噺灏辨槸ch='\xd';锛堝叾瀹炴渶鍚庝袱涓篃灏辨槸鍏繘鍒跺瓧绗︾殑鍜16杩涘埗瀛楃鐨勶紝涔熼兘鏄浆涔夊瓧绗﹀簭鍒楋級
  • 鍫嗕覆闂char*ch ,ch[i]. 涓轰粈涔堝爢涓插畾涔夐噷鏄痗har *ch,浣嗘槸绋嬪簭閲岄潰鍗...
    绛旓細ch鏄痗har *鍨嬫侊紝鎿嶄綔涓婂彲浠rray鏂瑰紡瀛樺彇锛屼篃灏辨槸ch[index]鏄帴鍙楃殑銆傚洜涓篶h琚寘鍦╯truct SString锛屾墍浠ユ搷浣渃h锛岄渶瑕乻truct鍙樻暟鐨勫墠瀵硷紝鍥犱负s琚畾涔変负SString *锛屾墍浠ワ紝閲囩敤s->鍘婚夋嫨ch鍋氭搷浣溿傝嫢s瀹氫箟涓篠String锛屽彲鐢╯.鍘绘搷浣渃h銆傚弬鑰冭祫鏂欙細鑷繁 ...
  • 璁ch鏄痗har鍨鍙橀噺,鍏跺间负A,鍒欒〃杈惧紡ch=(ch>='A'&&ch<='Z')?(ch+32...
    绛旓細?:鏄痗涓笁鐩繍绠楃锛屽锛熷墠鐨勮〃杈惧紡姹倆hi瑙o紝濡傛灉鐪燂紝鍒欒繑鍥烇細鍓嶇殑鍊硷紝鍚﹀垯杩斿洖锛氬悗鐨勫笺傝繖鍙ヨ瘽鐨勬剰鎬濇槸锛歩f(ch>='a'&&ch<'z)ch=ch-'a'+'a';else ch=ch;鍥犱负ch='a';鎵浠ヨ〃杈惧紡涓虹湡锛屽垯ch=ch-'a'+'a';瀛楃鍦ㄥ唴瀹逛腑鏄互ascii淇濆瓨鐨勶紝鎵浠ュ拰int鍨嬩竴鏍锋敮鎸佸熀鏈繍绠楋紝鎵浠h='a'...
  • C璇█ ch=*s涓殑*s鏄粈涔堟剰鎬?涓昏瑙i噴閭d釜*
    绛旓細ch = *s涓锛宻鏄竴涓寚閽堬紝鎸夐涓殑鎰忔濈寽锛屽簲璇ユ槸涓涓寚鍚戝瓧绗绫诲瀷鐨勬寚閽堬細char *s锛涙寚閽堝彲浠ユ寚鍚戝崟涓瓧绗﹀彉閲忔垨鑰呭瓧绗︽暟缁(瀛楃涓)锛屽s = "Hello World !"锛涜鐢ㄥ埌杩欎釜瀛楃涓查噷鐨勫瓧绗︽椂鍙ch = *s鍗冲彲锛*s琛ㄧず鍙杝鎸囬拡鎸囧悜鐨勭涓涓瓧绗︼紝褰撳墠搴旇鏄'H'锛岃嫢瑕佸彇绗簩涓瓧绗︼細ch = *(s...
  • 1.浠庨敭鐩樿緭鍏ヤ竴涓瓧绗﹀瓨鏀惧埌鍙橀噺ch涓(鍏朵腑,ch瀹氫箟涓篶har绫诲瀷...
    绛旓細ch = fgetc(stdin); // 2 ch = getchar(); // 3 scanf("%c", &ch); // 4 fscanf(stdin, "%c", &ch); // 5 fread(&ch, 1, 1, stdin); // 6 { // 7 char temp[2];if(fgets(temp, 2, stdin) != NULL)ch = temp[0];} ...
  • 鑻涓篿nt鍨嬪彉閲ch涓篶har鍨鍙橀噺鍒欎笅闈㈢▼搴忔杩愯缁撴灉鏄?
    绛旓細char鏁版嵁绫诲瀷 char鍨鏁版嵁鏄绠楁満缂栫▼璇█涓彧鍙绾冲崟涓瓧绗︾殑涓绉嶅熀鏈暟鎹被鍨嬨傚彇鍊艰寖鍥达細char 锛 -2^7 ~ 2^7-1 锛泂igned char锛 -2^7 ~ 2^7-1 unsigned char 锛 0 ~ 2^8-1 鑰屼笖鍏充簬char杩樻湁涓涓壒娈婄殑璇█灏鏄痗har *锛屽畠鍦–/C++涓湁涓撻棬鐨勮涔夛紝鏃笉鍚屼簬signed char *锛屼篃涓嶅悓浜...
  • ( 20)璁 ch 鏄 char 鍨鍙橀噺, 鍏跺间负鈥楢鈥,鍒欒〃杈惧紡 ch=(ch>=鈥楢鈥&...
    绛旓細绛旀鏄皬a锛岄偅棰樼洰琛ㄨ揪寮忔槸閿欑殑锛岄渶瑕佸己杞绫诲瀷锛涓嶇劧杈撳嚭鏄痠nt鍨嬶紝搴旇鏄97
  • 姹傚ぇ渚犲府蹇欒В鍐冲嚑閬揅璇█缂栫▼棰樺晩~~~
    绛旓細绗竴閬擄細s=10*s+ch[i]-'0';s琚祴鍊间负0 鎵浠 s=10x0 + 鈥1鈥 - '0' .鑰 ch[0]='1'=49 ,'0'=48 ,鎵浠ョ粨鏋滀负1銆傛兂闂竴涓嬩綘璁や负鏄15 鏄庝箞绠楀嚭鏉ョ殑锛熺浜岄亾锛歞efine ADD(x) x+x 瀹忔槸缂栬瘧棰勫鐞嗗懡浠わ紝棰勭紪璇戞椂灞曞紑锛岀瓑浠蜂簬锛歷oid main(){ int m=1,k=2,sum;sum=...
  • 扩展阅读:char类型键盘输入 ... char ch s++ ... char ch赋值语句 ... char ch是啥意思 ... char ch是字符串还是字符 ... char类型输出是什么 ... char类型的长度为多少 ... char字符对照表 ... char ch 256 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网