下面程序的输出结果是

下面程序的输出结果是,第1张

#include<stdioh>

main()

{

char c='A';

int k=0;

do {

printf("do swich c = %c\n", c);

switch(c++)

{

case'A':

k++;

printf("run case 'A' k = %d\n", k);

break;

case'B':k--;

printf("run case 'B' k = %d\n", k);

case'C':

k+=2;

printf("run case 'C' k = %d\n", k);

break;

case'D':k%=2;

printf("run case 'D' k = %d\n", k);

continue;

case'E':

k=10;

printf("run case 'E' k = %d\n", k);

break;

default:k/=3;

printf("run default k = %d\n", k);

}

k++;

printf("run k++ out of switch %d\n", k);

}

while (c<'G');

printf("k=%d",k);

}

运行

do swich c = A

run case 'A' k = 1

run k++ out of switch 2

do swich c = B

run case 'B' k = 1

run case 'C' k = 3

run k++ out of switch 4

do swich c = C

run case 'C' k = 6

run k++ out of switch 7

do swich c = D

run case 'D' k = 1

do swich c = E

run case 'E' k = 10

run k++ out of switch 11

do swich c = F

run default k = 3

run k++ out of switch 4

k=4

可以看到 当c依次从A增加到G

c=A 运行 case A和k++ 得到k=2

c=B 运行case B和case C, 以及k++, 得到k=4 注意case B没有break,所以会继续case C

c=C 运行case C和k++ 得到k=7

c = D 运行case D 得到k=1 注意有continue 所以不会执行下面的k++

c=E 运行case E和k++ 得到k=11

c=F 运行default 和k++ 得到k=4

c=G时,退出循环

打印k=4

你把程序写成这样,就很容易理解了。

#include "stdioh"

main() {

int s, p; s=p=5;这里是5

printf("%d\n",p);

p=++s; printf("%d\n",p);++s,就是先给s加1,变成6,然后赋值给p,p值也是6

p++; printf("%d\n",p);p++,还是加1,变成7

++p; printf("%d\n",p);再加1,变成8

}

所以,选D

这里的关键在于++p和p++一个是先加1 ,一个是后加1但是在这里,没有其他的语句,所以,先加后后加的效果是一样的。但是如果是p=s++这样的语句,就是先赋值,然后s再加1和p=++s就不同了。

你好!!!

你的代码有点问题:strcat(p1,p2));表示把p2所指向的内容放在p1所指向内容的后面,但是其中p1,p2都是指针变量,它们指向的是静态存储区的数据,根本不能在p1所指向的字符串的后面再放字符!!!

修改方法1:把指针改成数组,别且数组1的长度应该大于数组1和数组2的长度!!

方法2:用new 开辟空间!!

下面是有数组方法:

#include <stdioh>

#include<stringh>

void main()

{

char p1[10]="abc", p2="ABC",str[50]="xyz";

strcpy(str+2,strcat(p1,p2));

printf("%s\n",str);

}

结果是

xyabcABC

Press any key to continue

以上就是关于下面程序的输出结果是全部的内容,包括:下面程序的输出结果是、下面程序段的输出结果是( ) main() { int s, p; s=p=5; p=++s; p++; ++p;、下面程序的输出是等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10122084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存