分析以下程序的运行结果( )

分析以下程序的运行结果( ),第1张

运行结果为10,20

因为虽然在fun函数中进行了a,b值的交换,

但是a,b仅仅是fun函数的内部变量,他们的值的变化不影响main函数中的x,y的值,所以x,y还是10,20。

具体执行过程:

main函数中调用func(),并将x,y的值赋给fun()函数的两个临时变量a,b

在fun函数中交换a,b的值

退出fun函数,输出main函数中的x,y值

要是对象只是声明,那么后面的第一次赋值调用的是拷贝构造函数,当然你的这个程序里面是调用的默认的拷贝构造函数。

楼上的说这是赋值,不是这样的。首先你的类里面没有重载“=”,不可能赋值 *** 作,那你就想问,为什么会是拷贝构造函数了,那个不是也是传递对象进去的吗?这里是C++里面的引用在作怪,它调用的是引用对象,所以不需要重载“=”。

这个程序的意思是,从键盘输入一行字符,照原样显示出来。当输入!后,程序执行结束。执行的原理关键在这一行:

while(putchar(c=getchar())!='!')

首先:c=getchar(),字符变量c从缓冲区获得一个字符

然后:putchar(c=getchar()),将字符打印出来

最后:putchar(c=getchar())!='!',判断字符是不是!,如果是则退出while循环,否则继续。

效果如下:

如果只输入!,则显示一个!后结束

效果如下:

阁下是不是在研究linux?先将本人理解写下,欢迎指正,交流。运行这个程序还得看您的运行环境,环境不同,结果不同。

#include

#include

//这是两个头文件,调用一些系统函数

main()

{

pid_t

pid=fork();

//pid是进程标识符

if(pid==0)

//如果pid恒为零,则显示

{

printf("\ni

am

child\n");

//我是子进程

printf("My

process

id

is

%d\n",getpid());

//我的父进程是(通过系统函数读取)

printf("My

Parents's

process

id

is

%d\n",getppid());

}

//我的父进程id号是(通过系统函数读取)

else

//否则执行

{

printf("i

am

parent\n");

//略

printf("My

process

id

is

%d\n",getpid());

//略

printf("My

parents's

process

id

is

%d\n",getppid());

//略

sleep(1);

//执行完毕等待

}

}

/执行结果如下:

i

am

parent

My

process

id

is

220

My

parents's

process

id

is

119

[root@linteng

process]#

i

am

child

My

process

id

is

221

My

Parents's

process

id

is

1

/

以上就是关于分析以下程序的运行结果( )全部的内容,包括:分析以下程序的运行结果( )、分析下面程序的运行结果、C语言,关于程序运行结果的解释等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/10205630.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存