看了三傻大闹宝莱坞,很是崇拜兰彻。也许理解本质才是学习的真正面目,而不是死记硬背。所以,对于书中出现的概念,我心里有数并且能用自己的话复述出来就好,不必追求原模原样的话。
1.5
输出一堆错落有致的*
*****
*****
用了循环来控制空格,好吧我很闲哈哈哈。
没有字符串变量,大概是因为无法分配确定的内存空间?
unfold
#include
int main(void)
{
int i,j;
for(i=0;i<5;i++)
{
j=2*i;
for(;j>0;j--)
{
printf(" ");
}
printf("*****");
printf("\n");
}
}
1.6
比较a,b,c三个数的大小
尝试用了指针嘿嘿嘿,虽然有些小题大做。
unfold
#include
void comp(int *,int *,int *);
void change(int *,int *);
int main(void)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
int *p1,*p2,*p3;
p1=&a;
p2=&b;
p3=&c;
comp(p1,p2,p3);
printf("%d %d %d",a,b,c);
return 0;
}
void comp(int *p1,int *p2,int *p3)
{
if(*p1<*p2)
change(p1,p2);
if(*p1<*p3)
change(p1,p3);
if(*p2<*p3)
change(p2,p3);
}
void change(int *pp1,int *pp2)
{
int temp;
temp=*pp1;
*pp1=*pp2;
*pp2=temp;
}
有时会忘了本质,指针不过是一种间接赋值的方式罢了。
指针指向的值发生改变,那么变量自然就改变了。
形式参数为指针的函数参数,不加。也好理解,p是指针变量,p是指针变量所指向的变量。