社区
C语言
帖子详情
scanf一问!
cssin
2001-06-13 07:14:00
我在编程序时,想提示用户按行输入二维数组的各个元素!
用了一个嵌套循环:
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%f",&a[i][j]);
编译时通过,但是一执行就包非法操作,最后跟踪到了这里!
请问这是怎么回事??
有解决办法吗?
...全文
342
38
打赏
收藏
scanf一问!
我在编程序时,想提示用户按行输入二维数组的各个元素! 用了一个嵌套循环: for(i=0;i<=2;i++) for(j=0;j<=2;j++) scanf("%f",&a[i][j]); 编译时通过,但是一执行就包非法操作,最后跟踪到了这里! 请问这是怎么回事?? 有解决办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
38 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
joe_fox1025
2001-06-22
打赏
举报
回复
高手云集,懂了很多!
cssin
2001-06-21
打赏
举报
回复
多谢各位了!
给分了!
bluexiaoyi
2001-06-17
打赏
举报
回复
sscanf的功能是扫描一个串
格式是sscanf(line,format,&var1,&var2....)
fgets读取一行,放在line中,sscanf函数处理它。format和函数printf格式串相同。
starsoft007
2001-06-17
打赏
举报
回复
确实有这样的错误
我也没有搞懂
在for语句前加一个
scanf("%f",a[0][0]);
后就没问题了
cssin
2001-06-17
打赏
举报
回复
多谢各位的帮忙!
bluexiaoyi兄:能否帮我解释一下sscanf的作用和用法??
cdws222
2001-06-15
打赏
举报
回复
float a[2][2];错了你是用的for(i=0;i<=2;i++)
如果用for(i=0;i<2;i++),就没错,
解决方法:
1.将a[][]扩大,比如a[3][3];
2.将<=改为<
llhwan
2001-06-15
打赏
举报
回复
把程序贴出来看看,说不定是其它地方的错误
bluexiaoyi
2001-06-15
打赏
举报
回复
书名写错了
是《实用c语言》
bluexiaoyi
2001-06-15
打赏
举报
回复
下面是我从老外写的《使用c语言教程》上看到的:
函数scanf工作原理和printf类似,但scanf只读数字,不写数字。
它提供了一种简单容易的读取方式,但因为它对结束行处理的不好,对专业人士几乎没有用处!
那本书上的解决方法就是用fgets函数和sscanf函数合用,替代scanf函数,如我上面所写的。
我不知道能不能解决 cssin 的问题,只是拿出来共享一下,让大家知道!
qingsong99
2001-06-15
打赏
举报
回复
我也遇到这种情况,当你循环输入一个或多个字符类型时,将出现意想不到的结果,或是当你对循环输入一个整型变量和字符变量时也同样出现令你意想不到的结果。
bluexiaoyi
2001-06-15
打赏
举报
回复
char line[100];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++){
fgets(line,sizeof(line),stdin);
sscanf(line,"%f",&a[i][j]);} //注意是 sscanf 不是scanf !
请你现在再试一下!!!好吗?
cssin
2001-06-15
打赏
举报
回复
难道真的是程序其他地方有问题?
不可能啊!
、偶在提示用户输入后用了下面的代码:
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
printf("%d ",a[i][j]);
exit()
结果没有打印输组就非法了!
说明只可能是上面的程序出了问题!
各位认为呢?
soon
2001-06-15
打赏
举报
回复
tc3.0 编译运行也没问题。
#include <stdio.h>
main()
{
float a[2][2];
int i,j;
/*scanf("%f",&a[0][0]);*/
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%f",&a[i][j]);
printf("\n");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%f\n",a[i][j]);
}
cssin
2001-06-15
打赏
举报
回复
难道就此认为是TC的问题??
soon
2001-06-15
打赏
举报
回复
vc编译运行没问题。
#include <stdio.h>
main()
{
float a[2][2];
int i,j;
scanf("%f",&a[0][0]);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%f",&a[i][j]);
printf("\n");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%f\n",a[i][j]);
}
cssin
2001-06-15
打赏
举报
回复
哪位大哥来回答一下吧!
cssin
2001-06-15
打赏
举报
回复
joe_fox1025:
按照ahphone所说,似乎可以!
或许这是TC本身的毛病!
sqsw
2001-06-15
打赏
举报
回复
恩
joe_fox1025
2001-06-15
打赏
举报
回复
看来这种错误经常出现,我的一个程序也是这样的错误,也不知道为什么,你能把你的程序贴出来吗?我比较一下,也许能发现错误!
cssin
2001-06-15
打赏
举报
回复
多谢各位回答小弟的问题!
原题是要求一个3*3矩阵的对角线之和!
在开始提示用户按行输入矩阵的各元素:
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%f",&a[i][j]);
运行时报错:floating point not link
abnormal terminate!
PS:因为我是在网吧上的网,所以记不住原码~
加载更多回复(18)
(while(
scanf
(“%d“,&n) !=EOF))的用法
我们在做一些oj平台上的题目时经常碰见这几个字“多组输入”,如果你不了解这几个字的含义,就会出现一种我的代码明明正确,但oj平台就是显示“答案错误”,这种就需要我们用上while(
scanf
("%d%d",&x,&y)!=EOF)了 在学会使用while(
scanf
("%d%d",&x,&y)!=EOF)前,我们需要先了解
scanf
函数的返回值。
scanf
的返回值就是“所输入的数据与格式字符串中匹配次数.” 对于
scanf
("%d",&x); 如果你输入一个
C语言中
scanf
函数用法详解
scanf
的使用看似细节繁杂,但使用起来非常简单。就目前而言,只要掌握以下五点: 1. 在
scanf
的“输入参数”中,变量前面的取地址符&不要忘记。 2.
scanf
中双引号内,除了“输入控制符”外什么都不要写。 3. “输出控制符”和“输出参数”无论在“顺序上”还是在“个数上”一定要一一对应。 4. “输入控制符”的类型和变量所定义的类型一定要一致。对于从键盘输入的数据的类型,数据是用户输入的,程序员是无法决定的,所以在写程序时要考虑容错处理,这个稍后再讲。 5. 使用
scanf
之前先用 p
C语言
scanf
函数用法完全攻略
本节介绍输入函数
scanf
的用法。
scanf
和 printf 一样,非常重要,而且用得非常多,所以一定要掌握。 概述
scanf
的功能用一句话来概括就是“通过键盘给程序中的变量赋值”。该函数的原型为: # include <stdio.h> int
scanf
(const char *format, ...); 它有两种用法,或者说有两种格式。 1)
scanf
("输...
scanf
接收 空格 输入_
scanf
函数可以输入空白符
首先,问大家个问题:“C中
scanf
函数能否输入空格?”可能很多人会白眼:“废话!C只能用gets,fgets函数获得空白符啊!”确实,在
scanf
函数中,可以使用%c来读取一个字符,使用%s读取一个字符串,但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字串,因此一般使用fgets来读取一个字符串。之前我负,也这样认为的,其实不然,...
c语言中
scanf
("%7.2f",&a);合法吗,C语言,语句
scanf
("7.2f",&a);是一个合法的
scanf
函数?...
首先,这个语句显然是有问题的,但是能编译通过,说明是合法的。那么我们就需要弄清楚编译器是怎么理解这条语句的,以及运行时这条语句做了什么。原问题是“C语言,语句
scanf
("7.2f",&a);是一个合法的
scanf
函数?”,我猜测这里"7.2f"应该问的是"%7.2f",但是也可能就是"7.2f",所以对这两种情况均进行分析。网上说“使用
scanf
函数对实型变量进行赋值时,在格式%f中不得...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章