C语言
__Fang Wei__
这个作者很懒,什么都没留下…
展开
-
C语言字符串输入,gets函数的缺点以及解决方法
gets():gets是字符串数组操作,使用前必须定义字符串数组。如果输入的字符个数大于定义的数组长度,则会引起危险,因为gets不会判断缓存是否溢出,会把数组后面的内存覆盖。scanf():scanf虽然也能输入字符串,但是遇到空格就停止了。解决方法:目的:输入的字符串可以有空格,且,会检测是否溢出,如果溢出,将其截断。也可以设置你想要获取的字符个数,将超出此范围的字符截断...原创 2014-08-03 22:15:46 · 6734 阅读 · 0 评论 -
scanf和getchar使用问题
/* *作者: rookie_wei * * *说明:下面讨论一下在c语言中使用scanf和getchar从键盘中获取字符串出现的问题, * 这些问题很隐蔽,有时很难发现。希望能帮到你们。如果有什么理解错误之处,还请高手们指出。 * *日期:2012.7.29 */例如代码:int main(void){原创 2014-07-29 23:58:31 · 766 阅读 · 1 评论 -
C语言如何产生一个随机数,rand函数的使用
C语言中用于产生随机数的函数是rand(), 下面我用程序详细说明一下如何在C语言下产生随机数。示例代码如下: #include <stdio.h>#include <string.h>#include <stdlib.h>int main(int argc, char **argv){ int a; a = ra...原创 2014-08-10 01:24:11 · 15982 阅读 · 1 评论 -
因编码格式问题导致的错误
问题:编译时发现这种莫名其妙的错误。/home/user/driver/first_drv/first_drv.c:1: error: stray '\357' in program/home/user/driver/first_drv/first_drv.c:1: error: stray '\273' in program/home/user/driver/first_原创 2014-10-23 11:23:33 · 601 阅读 · 0 评论 -
怎样让scanf能接受带空格字符串
加上字符描述集//只接收空格和1到9的字符char buf[1024];scanf("%[ 1-9]", buf);puts(buf);//接收所有除了\n以外的字符char buf[1024];scanf("%[^\n]", buf);puts(buf);原创 2014-10-23 11:25:41 · 1016 阅读 · 0 评论 -
*** stack smashing detected ***
问题:运行时出现这个错误,编译过去,而且运行着也能得到结果,运行完该函数后就死在这里了。*** stack smashing detected ***: ./qq terminated解决方法:查看代码,有没有定义什么字符串小于实际使用的,比如定义了char name[13];但是实际上可能超过了这个长度,比如用了20个字节。只要将13改成比实际使用的还原创 2014-10-12 00:21:43 · 757 阅读 · 0 评论