关于c语言的三个的题目,谢谢大家,答案都是c

1main(){…while(getchar()!='\n');…}正确的是A)此while语句将无限循环B)getchar()不可以出现在while语句的条件表达式中C... 1 main()
  { …
  while( getchar()!='\n');
  …
  }正确的是
  A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中
  C)当执行此while语句时,只有按回车键程序才能继续执行 D)当执行此while语句时,按任意键程序就能继续执行
2若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是
  A)p=s; B)p=k; C)p=s[0]; D)k=s;
3设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是
  A)t1=t2; B)t2.num1=t1.num1;
  C)t2.mark=t1.mark; D)t2.num2=t1.num2;
展开
 我来答
百度网友76be931
2011-08-08 · 超过17用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:37.6万
展开全部
1:因为while( getchar()!='\n');在读取的字符不是回车时会一直往下读取。只有读到回车时候此语句才会停止读取继续执行下面的程序。
2:A选项将二维数组赋值给了一个指针。B选项将指向一维数组的指针赋值给了指针。D选项将二维数组赋值给了一个指向一维数组的指针。以上都不正确,所以选C。
3:直接拿两个数组赋值是不对的,只能对数组中的某一元素赋值。故C错误。

希望能帮到你
jnervo
2011-08-08 · TA获得超过757个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:153万
展开全部
1、getchar()是读取用户输入,'\n'是换行键,所以只有用户输入回车时才会跳出该while循环,继续往下执行。
2、对于一维数组来说,指针指向数组,即指针指向第一个元素的地址。故A不对
*p是指向char型的指针,所以B不对,
(*k)[3]是指针数组,长度为3,所以D不对
3、数组需要用循环来一个下标一个下标的来赋值吧。
=号右边需要为一个l-value,看一下左值和右值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9e36d1c
2011-08-08 · TA获得超过409个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:111万
展开全部
1.循环条件是getchar()!='\n',也就是说,只要输入的字符不是回车,程序就一直在循环中进行着,出不了循环,那程序就无法执行循环外的。只有当输入回车后才会继续执行。选C
2.分析错误原因。A项,p是一级指针,s是二级指针,不相等。B项 p是普通指针,而k是个数组指针,也不相等。D,前面已经说过k和s
3.C项错误的原因是mark是一个字符数组,它的值应该是首元地址,内存中两个结构体变量里的数组元素的首元地址怎么可能一样呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1282560375
2011-08-08
知道答主
回答量:33
采纳率:0%
帮助的人:41.1万
展开全部
答案都是C,第一题只有按回车键时while( getchar()!='\n');满足条件,结束循环;
第二题是将二维数组s[3][10]的首字符s[0][0]的地址赋给指针*p;
第三题,很明显A B D 是正确的,C中t2.mark和t1.mark是数组中的元素,不能直接相互赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
myrains2000
2011-08-08 · 超过20用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:65万
展开全部
第一题 :D
第二题 :D
第三题 :A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-08
展开全部
都选c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式