求解几个C++基础题(二)

2024-12-19 22:26:57
推荐回答(4个)
回答1:

你前面也贴了一个问题,我已经解答了。而且书上的答案又是错的。
这题书上给的答案又是错的,推荐你别再看这本书了。垃圾书
第一题,答案是2,3,2,我亲自运行过。
研究下循环的。第一次k++后k的值为1,k%2==0不成立,再往下做。
b=0+'2'-'0'得2
a=0+'2'-'0'得2
第二次k++后k的值为2,k%2==0成立,执行花括号里的
a=2+'1'-'0'得3,continue跳出循环再执行
判断循环条件为假停止循环。输出,结束。
注意一下,s[0]='1',s[1]='2',s[2]='1'

第二题,我觉得这题不会通过编译的。因为a=b根本不能能过。
不管了,研究一下答案吧。答案我还是偏向Ch。为什么呢?
每一个字符串都会在最后插入'/0'的,所以a数组只有三个元素空间,可以复制前二个之外,最后一个只能是'/0',而且这个是不输出的,表明字符串结束所以你只看到了Ch。

换书吧

回答2:

1就 是 一个DO WHILE 循环 注意 不管 WHILE 里面是什么 都要执行 DO语句,然后 自己走一走就行了
2 第二个错题 不能那样赋值的

回答3:

do while用错。

第2个有问题。

回答4:

第二题字符型数组可以赋值操作吗?