C代码学习

作者在 2011-11-30 13:29:08 发布以下内容
   学C,原因是在于自己想用51单片机做自动控制系统,但当踏时C大门的时候,才发现C远比使用过程中认识的C要复杂,用来做单片机开发没有一到两年的潜心学习及实践,几乎不可能用来开发,更何况电子电路自己还是个门外汉,平时的工作又完全跟这个不搭边,那有那么的时间和精力,于是似乎有些失望,但心里终就不死心,想着自己花了半年的时间学会了PORE,难道这个我就学不会,便暗暗人自己下了决心---利用自己工作的空余时间,争取通过半年入门,不达在乎是否能用于单片机开,也至少能写上一两段有用处代码也行,抱着这个态度,我开始的我的C语言学习旅程。
     我使用的教程是BCCN介绍的第五版C Primer Plus。在学习的过程中,不用说,一路上肯定是磕磕碰碰的,有时为一段代码半天没理解而苦恼,曾经也想放弃,但自己还是坚持下来了。一方面看书,一方面把书上的每个例子的代码都敲出来调试,同时按自己理解的变着法子再敲一遍运行看看是否能行,碰到实在想不明白的,就摆渡一下相关的知识和介绍,多看多理解,慢慢也就明了了,
     今天我在学*号在输入函数scanf()中使用特点,按书上介绍的说法,在scanf()中,*处在%和说明符之间,用于函数跳过相应的输入项目读取。例子如下;
 #include<stdio.h>
int main()
{
int n;
printf("Please enter three integers:\n");   //说明
scanf("%*d %*d %d",n);            //输入三个整数
printf("The last integer was %d\n",n);        //读取最后一个整数
return 0;
}
结果我在输入代码的时候输成下面面这样子:
 #include<stdio.h>
int main()
{
int n;
printf("Please enter three integers:\n");   //说明
scanf("%*d %*d %d\n",n);            //输入三个整数
printf("The last integer was %d\n",n);        //读取最后一个整数
return 0;
}
调试没问题,运行时出问题了,输入三个整数后回车没反应。要再敲一个数字再回车才有结果,大家可以试一下就明白了,这下我加深了scanf()语句的运用中不能用转行符"\n",
然后我又改成了下面的代码:
int main()
{
int n;
printf("Please enter three integers:\n");   //说明
scanf("%*d,%*d,%d",n);            //输入三个整数
printf("The last integer was %d\n",n);        //读取最后一个整数
return 0;
}
调试运行没问题,但在输入时必须用逗号隔开整数。接着我再试改成下面的代码:
int main()
{
int n;
printf("Please enter three integers:\n");  
scanf("%*d %*d %d",n);           
printf("The last integer was %d\n",n);       
printf("Please enter three integers:\n");  
scanf("%d %d %d",n);           
printf("The last integer was %d\n",n);       
return 0;
}
调试没问题,但运行出问题了,直行运行出错,好像找不到最后这个数,360还跳出说写进注册表什么的。
虽然最后这个运行问题我还没弄明白,但对*号在scanf()中的运用特点,我是比书上介绍的要清楚得多了,我想这就是C学习过程中练习的作用吧,只有不断的写,换着法儿的写,不断的运用,才能深刻的理解每个代码的意思。
C语言学习日志 | 阅读 834 次
文章评论,共0条
游客请输入验证码
最新评论