社区
Linux/Unix社区
帖子详情
UNIX下c编程的奇怪问题
angel518
2009-06-08 05:58:50
有文件,内容如下:
fjdhh大幅度#的ddfdl@@
偶定义了一个数组buf[50],先fgets把文件内容读到buf中,然后用变量k遍历,如下:
while(buf[k]!=NULL)
printf("%s",buf[k]);
可编译的时候总要报错:
(coredump)
请问这是怎么回事?难道buf[k]!=NULL有问题?
对尾部的@@,如何用strcmp进行比较呢?
...全文
36
10
打赏
收藏
UNIX下c编程的奇怪问题
有文件,内容如下: fjdhh大幅度#的ddfdl@@ 偶定义了一个数组buf[50],先fgets把文件内容读到buf中,然后用变量k遍历,如下: while(buf[k]!=NULL) printf("%s",buf[k]); 可编译的时候总要报错: (coredump) 请问这是怎么回事?难道buf[k]!=NULL有问题? 对尾部的@@,如何用strcmp进行比较呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Joan201401
2009-06-09
打赏
举报
回复
UP
happybeginner
2009-06-09
打赏
举报
回复
贴全部代码吧 应该不长~~~ 也不难
jianzhibeihang
2009-06-09
打赏
举报
回复
感觉lz思维很混乱
xharry
2009-06-08
打赏
举报
回复
好久没有用c了,看到楼主的问题,我比较好奇,我来回答你第一个问题:
首先,我怀疑你漏打了k++,因为你的代码中
while(buf[k]!=NULL)
printf("%s",buf[k]);
k始终是它的初始化值,这样会死循环
我觉得你的代码是这样的
int k = 0;
while(buf[k++]!=NULL)
printf("%s",buf[k]);
不过依然有错,楼上已经用朋友回答你的问题,你应该用printf("%c", buf[k]),而不是%s,为什么你用%s会core dump呢。
你定义的是数组,而不是一个指针。所以你可以试试看如下的语句:
char buf[10] = "ssdf";
printf("%x\n", buf) // 打印出ffbffd2c
printf("%x\n", buf[1]) // 打印出73
你可以看到,第一件打出的是一个内存地址,而第二句打出的是73,很明显,它是's'的ASCII码。我们知道printf("%s"...)接受的参数是一个内存地址,而73很明显不是一个标准的地址,通常会core dump
请参考。
帅得不敢出门
2009-06-08
打赏
举报
回复
貌似 楼主的问题不是问题
不是问题的成了问题
猫已经找不回了
2009-06-08
打赏
举报
回复
printf("%c",buf[k]);
大哥,我都服了你了
neohope
2009-06-08
打赏
举报
回复
buf[50]你怎么定义与操作的?
once_and_again
2009-06-08
打赏
举报
回复
printf ,scanf 稍不留意,就出现致命的错误.
angel518
2009-06-08
打赏
举报
回复
问题精简错误了!
问题应该是这样的:
有文件,内容如下:
fjdhh#大幅度#的ddfdl#@@
偶定义了一个数组buf[50],先fgets把文件内容读到buf中,然后用变量k遍历,遇到#就把两个#之间的字符串放入temp变量中,如下:
while(buf[k]!=NULL)
printf("%s",temp);
可编译的时候总要报错:
(coredump)
请问这是怎么回事?难道buf[k]!=NULL有问题?
对尾部的@@,如何用strcmp进行比较呢?偶用strcmp(temp,"@@")没用啊,报(coredump)错!
wuyu637
2009-06-08
打赏
举报
回复
printf("%c",buf[k])
C语言基础
C语言是目前世界上流行、使用最广泛的高级程序设计语言 6、很多编译器,几乎所有操作系统Windows,Linux,
Unix
的大部分代码都是C,C在背后做了很多东西的,也许开发游戏用C++,安卓用XX更为合适,图形界面的用其他...
Linux下C语言
编程
第1章 Linux下C语言
编程
简介 本章将简要介绍一下什么是Linux,C语言的特点,程序开发的预备知识,Linux下C语言开发的环境,程序设计的特点和原则以及编码风格等。通过本章的学习,可以对在Linux下使用C语言
编程
有...
《精通
Unix
下C语言与项目实践》读书笔记(3)
版权声明:原创作品,允许转载,转载时请务必以超链接...http://zhuyunxiang.blog.51cto.com/653596/161298《精通
Unix
下C语言
编程
与项目实践》读书笔记(new)文章试读不拘一个遍程序系列:
编程
序不能一个脑袋钻到底,有
学习
Unix
,可从事什么样的工作(1)《精通
Unix
下C语言与项目实践》读书笔记(3)...
《精通
Unix
下C语言
编程
与项目实践》读书笔记(new) 文章试读 不拘一个遍程序系列:
编程
序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国。一、二、三、四 职场规划:一些杂七杂八的职场感悟吧。不值钱...
初识Linux下C语言
编程
通过本章的学习,可以对在Linux下使用C语言
编程
有一个基本的了解。 1.1 Linux简介 Linux是能够自由传播并继承了
UNIX
内核的操作系统,是对
UNIX
的简化和改进,它既保留了
UNIX
系统的高安全性,同时也使其操作更加...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章