
运行结果为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语言,关于程序运行结果的解释等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)