这题目我见过,不过粘贴时好像被“吃掉”了+号,照此程序的话会死循环的。中间部分应该是:
void func1(int i)
{ printf("%c",st[i]);
if(i<3)
{ i+=2; //此处有变化
func2(i);
}
}
void func2(int i)
{ printf("%c",st[i]);
if(i<3)
{ i+=2; //此处有变化
func1(i);
}
}
程序的分析如下:
从main()开始执行,调用fun1(0)
先输出h,然后i变为2,再调用fun2(2)
在fun2中,输出l,然后i变为4,再调用fun1(4),输出o后,直接返回
全部的输出就是:
hlo
C语言中,程序文件本身是文本格式,如果只是查看代码的话,可以这样做:打开记事本,使用文件中的“打开”菜单。在d出的对话框中选择文件类型为“所有文件”,然后再浏览到程序文件,点击打开。但是如果需要在编译器环境中进行调试或编译等 *** 作,则必须使用编译器,编译器必须使用与C语言文件在编写时使用的环境要求,不同的编译器提供的库函数不同,不能混用。
高效率:说到程序,运行效率是不可避免的话题。如何提高效率,一是 最准确的算法,二是 一些小的细节,打个比方:for(int i=;i<strGetLength();i++) 就这个循环的判定条件而言,完全可以改成int len=strGetLength(), for(int i=0;i<len;i++);不要小巧这个改懂,如果你的字符串str很长的话,也会影响效率的,因为每循环一次就要调用一次函数GetLength。
例子如下:
直接编译,程序输出结果中任意输入四位数字,程序执行结果如下图所示:
知识扩展:
编程是一种融汇贯通的东西,学会基础到后边就越来越简单了。而且可以向多种语言发展。 c语言 是一种可移植性和多系统平台的编程语言 java 是一种功能强大可移植性强的开发语言。
HTML 是一种超文本标记语言,Java Script 是一种基于客户端的脚本语言 程序语言,顾名思义就是一种语言,是用于交流的,程序就是计算机的语言和人类语言的翻译者,做一个程序员就是要把人类世界的问题用计算机的方法去解决和展现。
#include<stdioh>
void f(float x,int y,float z)
{
y=(int)x;//
z=x-y;//
}
void main()
{
float x1,z1;
int y1;
printf("请输入一个实数:");
scanf("%f",&x1);
f(x1,&y1,&z1);//
printf("\ny1 的值为:%d\n",y1);
printf("z1的值为:%f\n",z1 );
}
刚编了一个:把12枚银币编号,1,2,3,12,每次称重的时候,按照程序提示进行,输入称重结果,就可以了。
运行结果:
5、6、7、8
比
1、2、3、4:
(输入:0等,1轻,2重)2
3、4、6
比
1、2、5:
(输入0等,1轻,2重)1
5、4
比
11、12
(输入0:等,1轻,2重)2
假币5重
源程序:
#include
<stdioh>
void
badcoin(int
x,
int
a)
{
switch(a)
{
case
0:
printf("错误输入");
break;
case
1:
printf("假币%d轻",x);
break;
case
2:
printf("假币%d重",x);
break;
}
}
void
badcoin1(int
x)
{
int
a,
good;
for(good=1;
good==x;
good++){}
printf("%d是假币,
%d
比
%d
(输入:1轻,2重)",x,x,good);
scanf("%d",&a);
badcoin(x,a);
}
void
badcoins2(int
x,
int
y,
int
a)
{
int
b,
good;
for(good=1;
good==x
||
good==y;
good++){}
printf("%d,%d当中有一个假币",x,y);
switch(a)
{
case
1:
printf("(轻),其中
%d
比
%d
(输入0:等,1轻)",x,good);
break;
case
2:
printf("(重),其中
%d
比
%d
(输入0:等,2重)",x,good);
break;
}
scanf("%d",&b);
if(b==0
||
b==a)
{
switch(b)
{
case
0:
badcoin(y,a);
break;
case
1:
case
2:
badcoin(x,b);
break;
}
}
else
{
printf("输入错误\n");
}
}
void
badcoins3(int
x,
int
y,
int
z,
int
a)
{
/
z偏a,或者x和y当中一个偏非a
/
int
b;
printf("%d、%d
比
11、12
(输入0:等,1轻,2重)",z,y);
scanf("%d",&b);
if(b==0)
badcoin(x,a==12:1);
else
badcoin(b==az:y,b);
}
main()
{
int
a,b;
printf("5、6、7、8
比
1、2、3、4:
(输入:0等,1轻,2重)");
scanf("%d",&a);
if(a==0)
{
printf("9、10、11
比
1、2、3:
(输入0等,1轻,2重)");
scanf("%d",&a);
if(a==0)
{
badcoin1(12);
}
else
{
printf("10
比
9(输入0等,1轻,2重)");
scanf("%d",&b);
if(b==0)
badcoin(11,a);
else
badcoin(a==b10:9,a);
}
}
else
{
printf("3、4、6
比
1、2、5:
(输入0等,1轻,2重)");
scanf("%d",&b);
if(b==0)
{
badcoins2(7,8,a);
}
else
{
if(a==b)
badcoins3(1,2,6,a);
else
badcoins3(3,4,5,a);
}
}
}
以上就是关于一段C语言程序解读,求完整全部的内容,包括:一段C语言程序解读,求完整、如何编写C语言程序、求一个c语言完整程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)