|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 起什么名字 于 2013-6-3 00:18 编辑
判别一个整数数组a[10]={1,2,3,4,-1,-2,-3,-4,2,3}中各元素的值,
若大于0,则输出该值,若小于等于0,则输出0值。
(该程序在,C语言教学视频 第七章(函数06)中出现)
程序一:
#include <stdio.h>
int test(int a);
void main()
{
int i;
int a[10]={1,2,3,4,-1,-2,-3,-4,2,3};
for(i=0;i<10;i++)
{
test(a【i】); //这里觉得没有赋值语句不太好理解,而且printf()函数没有在这里,不太好理解
}
}
int test(int a)
{
if(a>0)
{
printf("%d ",a);
}
else
{
printf("%d ",0);
} //没有return返回值语句,不太习惯
}
程序二:
#include <stdio.h>
int test(int a);
void main()
{
int i,f;
int a[10]={1,2,3,4,-1,-2,-3,-4,2,3};
for(i=0;i<10;i++)
{
f=test(a【i】);
printf("%d ",f);
}
}
int test(int a)
{
int y;
if(a>0)
{
y=a;
}
else
{
y=0;
}
return y;
}
程序结果都为:1 2 3 4 0 0 0 0 2 3
这个没有疑问。
程序一是视频给出的代码,程序二是我自己稍微改了一点点。
为什么改?因为视频里的程序一我不好理解,或者说没有程序二这么好理解。
1.当时我纳闷了,程序中没有出现输出printf()函数,怎么运行就会显示出答案?再仔细看看printf()输出原来在定义那里;。
2.再一个就是,程序一里,for循环语句里test(a【i】);之前学习的都是类似于程序二f=test(a【i】); 起码有个赋值语句这样就好理解;
3.第三个不好理解的就是,int test(int a)函数定义中,没有return返回值语句。
程序真是千变万化,不好理解,虽然都符合要求,就是担心看不懂。
感觉学习这个真是太难了,好担心学习不下去。
有一起学习的朋友多交流啊,多一个人解惑也好!
QQ:840850460
诚挚感谢!
|
|