Chinaunix首页 | 论坛 | 博客
  • 博客访问: 804971
  • 博文数量: 87
  • 博客积分: 2571
  • 博客等级: 少校
  • 技术积分: 726
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-19 15:04
个人简介

重新开始,做回自我,爱拼的男人最牛!

文章分类
文章存档

2021年(2)

2020年(3)

2019年(17)

2014年(1)

2011年(1)

2010年(63)

我的朋友

分类: WINDOWS

2010-10-14 10:14:08

1、从键盘输入碰到的一个问题:
错误:scanf("%ld\n",num);
描述:期望输入num数值后会输出计算后的结果,但是输入数值后无任何反应。
修改:scanf("%ld",num);问题解决
总结:写程序一定要细心,不要因习惯性笔误带来隐含的小问题。
 
2、break 和 continue
break语句可以使流程跳出switch结构,而且,break语句还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。
continue的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
两者区别:continue只结束本次循环,而不是终止整个循环,而break是结束整个循环过程,不再判断执行循环的条件是否成立。
eg:(1)for(i=1;i<9;i++)
       {表达式1;
        if(表达式2)break;
        printf(".....");
       }
如果表达式2成立,运行break语句,跳出整个for运行,后面的printf也不会显示。
   (2)for(i=1;i<9;i++)
       {表达式1;
        if(表达式2)
        {continue;
         printf("........")}   //1
        printf(".....");//2
       }
如果表达式2成立,运行continue语句,仅跳出当次循环,1处的输出不显示,当时2处的输出还是会显示。
 
3、对错误输入的简单处理
如果要求输入一个三位内的正数,为了简单判断错误输入后的重新输入,可采用如下简单语句:
while(num<=0||num>=1000)
{
    printf("error input,please again...\n");
    scanf("%d",&num);
}
 
4、scanf函数中的输入项如果是字符数组名,不要再加地址符&,因为在C语言中数组名代表该数组的起始地址。如:
char a[10];
scanf("%s",a);   正确
or   for(int i=0;i<10;i++)
         scanf("%c",&a[i]);   正确
 
scanf("%s",&a);  错误
 
5、
 
阅读(1049) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-14 17:33:24

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com