#include<stdio.h>
#include<string.h>
#include"windows.h"
void main()
{ char Y1,Y2,Y3
while(1)
{
printf("你觉得陈聪聪明吗?< input yes or no>\n")
scanf("%c",&Y1)
if(Y1=='y')
{
printf("你觉得陈聪爱你吗?< input yes or no>\n")
scanf("%c",&Y2)
if(Y2=='y')
{printf("我亲爱的卉宝宝,我永远爱你!生日快乐!\n")}
}
else
{ printf("为什么呢?\n")
Sleep(5000)
}
printf("你要结束这个窗口吗?< input yes or no>\n")
scanf("%c",&Y3)
if(Y3=='y')
return
else
continue
}
}
用函数int
num
=
1032
char
outstring[100]
itoa(num,
outstring,
2)
printf(outstring)
第3个参数表示所用的进制,同理可以改成其它进制
Good
Luck!
首先,函数的参数有传值和传地址传值时函数返回不改变参数
传地址函数返回时改变后的参数写入该地址中,因此参数就变化了
注意,有时候运行环境不一样结果也不一样,因为系统函数是不一样的^^
PROGRAM
1_1:
#include
"iostream.h"
void
f(int
a,int
b)
int
main()
{
int
i=3
f(i,i++)
return
0
}
void
f(int
a,int
b)
{
cout<<a<<'
'<<b<<endl
}
RESULT:3
3
a=i=3,b=i++,i先用再加,b=3
PROGRAM
1_2:
#include
"iostream.h"
void
f(int
a,int
b)
int
main()
{
int
i=3
f(i,++i)
return
0
}
void
f(int
a,int
b)
{
cout<<a<<'
'<<b<<endl
}
RESULT:4
4
f(i,++i),这里是值传递,i都变成4了...
/*感觉不大对劲啊,为什么不是3,4?高手指点...*/
PROGTAM
1_3:
#include
"iostream.h"
void
f(int
a,int
&b)
int
main()
{
int
i=3
f(i++,i)
return
0
}
void
f(int
a,int
&b)
{
cout<<a<<'
'<<b<<endl
}
RESULT:3
4
f(i++,i),i先用再加,第一次输出3,第二次是传地址,加了为4
PROGRAM
1_4:
#include
"iostream.h"
void
f(int
&a,int
b)
int
main()
{
int
i=3
f(i,i++)
return
0
}
void
f(int
&a,int
b)
{
cout<<a<<'
'<<b<<endl
}
RESULT:4
3
&a是传地址,i已经++了,为4,而b的i++是先用再加,为3