菜鸟,没办法!
自学c中!
(10)设已有定义: char *st="how are you"; 下列以下程序段中正确的是 。
(A)char a[11], *p=a; strcpy(p,&st[4]);
(B) har a[11]; strcpy(++a, st);
(C) har a[11]; a=st;
(D) char a[], *p; strcpy(p=&a[1],st+2);
(E) char a[], *p; strcpy(++a, st);
问题1:"how are you"装进数组中,数组要a[??]才够装?
“how are you”一共占"how are you/o"12字节?
2:D和E中的数组声明“char a[]”,没错??
3:A答案中:最后那个“&st[4]”怎么理解?
4:D答案中,最后那个“st+2”怎么理解?
5:结合题目的 已有定义: char *st="how are you" , A 答案中的"&st[4]"如何理解???
它指的是"how空格"?还是"are you/0"?
6:C答案中如果 char a[12]是否就会正确了?
问题 1-6已完美解决
(请原谅我是菜鸟,愿意回答问题的朋友,请用一个菜鸟应该看得懂的语言,随便解释一下相关的原理知识!
目前我对c语言就大概懂得了点是怎么回事,相当于建一面墙,砖块乱搭扰搭也像了副墙的样子,可是缝
隙太多也不懂得从何补起,无从下手!我感觉某些关键地方没掌握好,就像墙的关键力学支撑点没搭好!)
新问题:
7: char a[1], 数组 a 能装进几个字符??
int b[1], 数组 b 能装进几个数字??
至少数组要两个无素才能装字符进去对吗?
因为后面还要一个位置放标志结束符?
数字呢??也要吗??
8 楼哥们的答案我看不懂,为什么有8/8 16/16 32/32 ?????
还是谢谢你!
[[it] 本帖最后由 语文不及格 于 2008-9-24 18:51 编辑 [/it]]