1.第一种“段错误”出现的场景
1 /*************************************************************************
> File Name: goto.c
> Author: Mr.Yang
> Purpose:演示goto的用法 (段错误出现的场景)
> Created Time: 2017年05月19日 星期五 18时36分23秒
************************************************************************/ #include <stdio.h>
#include <stdlib.h> int main(void)
{
int i = ;
int n = ;
start: for(i = ;i<;i++)
{
printf("enter a number between 0 and 10:");
scanf("%d",&n);//当接收用户输入时,scanf函数中未加"&"符号,编译能通过,但是会出现“段错误”这样的错误提示
if(n > || n < )
{
goto start;
}
else if(n == )
{
goto location0;
}
else if(n == )
{
goto location1;
}
else
{
goto location2;
}
} location0:
printf("you entered %d\n",n);
goto end; location1:
printf("you entered %d\n",n);
goto end; location2:
printf("you entered between 2 and 10\n"); end: return ;
}
2.第二种“段错误”出现的场景
1 /*************************************************************************
> File Name: assert.c
> Author: Mr.Yang
> Purpose:演示函数assert的用法
> Created Time: 2017年05月29日 星期一 19时57分54秒
************************************************************************/ #include <stdio.h>
//#define NDEBUG 可禁用assert。此处当我们禁用assert函数,即把这个地方的#define NDEBUG的注释取消后,也即assert不取作用后
#include <assert.h>
#include <stdlib.h> int main(void)
{
FILE *fp; /*以写的方式打开*/
fp = fopen("test.txt","w");
assert(fp);
fclose(fp); /*以只读的方式打开*/
fp = fopen("newtest.txt","r");//当禁用assert后,以只读形式打开不存在的文件时,会出现“段错误”
assert(fp);
fclose(fp);//当禁用assert时程序永远都执行不到这里来 return ;
} 注:为了不影响理解,此“段错误”总结为:fopen以只读形式打开不存在的文件时,会出现“段错误”

最新文章

  1. 文件IO操作..修改文件的只读属性
  2. 在linux 服务器上用.htaccess文件实现二级域名访问子目录
  3. Unicode Character Table – Unicode 字符大全
  4. App 开发:Hybrid 架构下的 HTML5 应用加速方案
  5. Ubuntu13.04 安装 chrome
  6. Java——多线程
  7. IntelliJ IDEA优化总结
  8. Android中attr自定义属性详解
  9. python socket 编程之二:tcp三次握手
  10. CC++初学者编程教程(15) 基于cocos2dx的安卓打包环境
  11. 第一个CGI程序-----完全就是普通的c语言嘛‘(*∩_∩*)′
  12. Collection和Map的默认扩容参数
  13. Python学习之路并发编程--信号量、事件、队列及生产消费模型
  14. BZOJ4998星球联盟——LCT+并查集(LCT动态维护边双连通分量)
  15. java和javaScript创建方式
  16. leetcode-algorithms-32 Longest Valid Parentheses
  17. Google C++命令规范
  18. activiti如何获取当前节点以及下一步路径或节点(转)
  19. CF1142E/1143B Lynyrd Skynyrd
  20. CentOS中用Nexus搭建maven私服,为Hadoop编译提供本地镜像

热门文章

  1. 字符串匹配之KMP
  2. 三、CI框架之一个最简单的页面
  3. 老出BUG怎么办?游戏服务器常见问题解决方法分享
  4. css代码实现列表等宽
  5. VS.NET中的常用控件和类型的命名规范
  6. UML-异常处理
  7. HDU 5428:The Factor
  8. javaScript_BOM浏览器对象模型
  9. rewrite例子集合
  10. POJ 3659 再谈树形DP