c语言scanf报错不安全

作者&投稿:沃屠 (若有异议请与网页底部的电邮联系)

C语言用scanf输入字符输出确实错误的。。。
朋友,你没有加输入分隔符,空格,逗号都可以,你加上试试如果有其他错再说。这是最明显的错误(就是scanf中%c中间加)我用的是TC,都是C语言,应该是一样的,希望能够帮助到你,注意在输入的时候也要用逗号隔开

C语言关于scanf输入错误循环的错误
int n,j;do{ j = scanf("%d",&n);if ( j != 1)printf("input error !\\n");fflush(stdin); \/\/清除键盘缓冲区试一下。}while(j!=1);

c语言scanf问题
它的意思是你没有用到scanf的返回值 scanf会返回正确输入变量的个数,一般来说用不到 这只是一个警告,无视就可以了,不影响正确运行 如果想要不出现,可以用变量接收scanf的返回值,或者在编译选项里关掉-Wunused-result

C语言问题:如图,scanf("%d", &custNo); 报错,无法运行,咋回事?_百度...
没事,这个是告诉你scanf不安全,不会对缓存的长度进行验证,你可以用比较安全的函数scanf_s , 用法一样,功能一样。

在调试C语言中关于SCANF中出现的问题
这个很简单,只需要把scanf("%d %d %d\\n", &a, &b, &c);内的\\n去掉就行.因为,在scanf函数原形内,已经默认回车即进行标准输入,又在输入数据格式后加\\n的话,机器默认一个回车,但是还在等待另一个回车,换句话说,机器只是呆板的执行输入,不会进行判断,确认第二个回车.所以不会输入数据....

请教下为啥总出现出现scanf声明呀?刚学C语言,卡着了,请讲讲原因呗 感谢...
这个警告是VS有的,scanf_s也是VS才有的。主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。解决方法如下:一:将原来的旧函数替换成新的安全函数...

C语言循环里scanf用不了
肯定是因为game()函数里有scanf语句,并且scanf之后没有处理scanf留下的换行符。scanf从屏幕是读取数据时,往往不会自动读掉行尾的换行符(你输入数据后,肯定会按一个回车的对吧),所以在game函数里的最后一个scanf结束后,输入缓冲区里还一个换行符在里面,这个时候main函数里的scanf函数读到的字符就...

...但是却总说我的一个语句错误error C2065: 'scanf' : undeclared iden...
scanf,这个是C语言中的函数,添加#include <stdio.h>试试。另外,#include <iostream.h> 换成 #include <iostream>

C语言编程,用for循环和scanf输入数组,一点回车电脑就报错(只能输两行...
楼上的人虽然都很热心,可惜他们的代码要么是都没有经过测试就写上来,要么是牛头不对马嘴的乱贴代码上来。你没贴代码上来,从你说的情况看来,你的问题出现在scanf函数上,这个函数你一定要小心使用,举个例子:int a;scanf("%d", &a); \/\/后面一定是&a,不能是a,&a代表a的内存地址,scanf...

C语言中scanf函数的问题
include<conio.h> \/*getch()语句需要用到的头文件*\/ int main(void){ float grade[5][4];int row,colum;for(row=0;row<5;row++){ printf("please input NO.%d's grades(Math\/C\/Dbase):",row+1);for(colum=0;;colum++)if(colum<4)scanf("%f",&grade[row][colum]);else break;...

佟伟17092715708问: C语言中printf,scanf不安全? -
屯溪区复方回答: 这个在c++中存在开发安全周期的问题,如果你用Vs2013编写c ,那么它会报错,让你换成scanf_s,printf应该是安全的

佟伟17092715708问: error C4996: 'scanf': This function or variable may be unsafe. -
屯溪区复方回答: 提示的英文很明确啊,就是告诉你scanf不安全,建议改用scanf_s,你在scanf后面加_s就可以了. C语言的标准函数中,一些读取或写入内存的函数存在内存越界的问题,从而使得内存数据变得不安全.如scanf、gets、strcat等函数都存在着这...

佟伟17092715708问: C语,scanf出错了,不知道怎么回事 -
屯溪区复方回答: 应该是scanf("%d",&q); 提示是说scanf可能不安全,主要是因为scanf使用了指针,可以使用流代替

佟伟17092715708问: C语言求问 -
屯溪区复方回答: 你的错误是说编译错误吗,错误信息是·说scanf函数不安全,要用scanf_s ,这是vs高级版本改良后导致的,这个scanf_s 是带s(safe)表示较安全,用法和scanf差不多,只是多了个参数,具体用法,你可以百度下,更清楚

佟伟17092715708问: C语言中,为什么函数scanf没有语法错误但报出运行时非法内存访问错误?是由哪个参数引起的? -
屯溪区复方回答: 可能有输入字符串超出数组长度.

佟伟17092715708问: 这个C语言scanf语句为什有错 -
屯溪区复方回答: 这是新版vc库添加的警告 因为微软认为scanf的使用存在安全隐患,因为C/C++中的字符串处理都是以\0为截止符的,如果搜索不到\0,容易出现字符串越界 所有vc扩展的所谓安全标准库,都添加了一个参数用以指定字符串参数的长度,用以避免这种安全隐患 详细避免见:http://www.cnblogs.com/gb2013/archive/2013/03/05/SecurityEnhancementsInTheCRT.html

佟伟17092715708问: C语言老是报错,请大神帮看看 -
屯溪区复方回答: vs2013有强制的安全检查,scanf属于不安全函数,在c+11 标准中推荐使用scanf_s,不想使用的话就可以在头部最开始的地方#define _CRT_SECURE_NO_WARNINGS 跳过安全检查!

佟伟17092715708问: scanf和printd是c语言提供的输入输出函数为什么错误 -
屯溪区复方回答: 如果你是在vs高级版本中使用,就会报错,因为vs把它升级了,改为scanf_s ,该函数比原来多了个参数,功能是一样的,比以前那个scanf函数更安全 而上面的printd是你打错的,应该是printf,在高级版本中这个函数还是一样可用的

佟伟17092715708问: c语言中两个scanf为什么会出毛病? -
屯溪区复方回答: 1、scanf是C语言中的标准输入函数.函数原型如下:int scanf( const char *format, ... ); 其调用格式为: scanf("<格式化字符串>",<地址表>);2、举例说明如下:scanf("%d%d", &a, &b); // 接收用户从键盘输入的2个整数,分别赋值给变量a,b 需要注意的就是scanf函数的返回值:对于 scanf("%d%d", &a, &b); 如果a和b都被成功读入,那么scanf的返回值就是2 ;如果只有a被成功读入,返回值为1 ;如果a和b都未被成功读入,返回值为0 ;如果遇到错误或遇到end of file,返回值为EOF.

佟伟17092715708问: vs 2013编译器的问题,编译的c语言,为什么出错了,可以帮我修改一下么 -
屯溪区复方回答: 使用了不安全的函数scanf,有两种解决方法,第一:使用scanf_s函数代替;第二:禁用该提示,具体,右击工程 - 属性 - 配置属性 - C/C++ - ...


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网