标题:萌新求助,两数相乘求和的警告和错误问题
只看楼主
凌若寒曦
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2017-10-5
结帖率:80%
已结贴  问题点数:10 回复次数:3 
萌新求助,两数相乘求和的警告和错误问题
#include<stdio.h>
int main()
{ int a,b,c;
  scanf("%d,%d",&a,&b);
  c=a*b;
  printf("%d*%d=%d",a,b,c);
  return 0;
}
它出现了这样的问题:
___1.c: In function ‘main’:
___1.c:5: warning: format ‘%d’ expects type ‘int *’, but argument 2 has type ‘int’
___1.c:5: warning: format ‘%d’ expects type ‘int *’, but argument 3 has type ‘int’
___1.c:5: warning: ‘a’ is used uninitialized in this function
___1.c:5: warning: ‘b’ is used uninitialized in this function

运行时错误(SIGSEGV)  
错误原因可能是:
非法的内存引用, 具体原因可能是:
1.数组越界使用;
2.指针的错误使用, 一般是对非用户区的地址空间进行读或者写操作;
3.越权操作文件指针, 程序中却未捕捉该类错误;
4.栈溢出, 一般是因为过多的递归调用或者过大的临时变量导致;5.程序使用的内存超过了题目设定的上限。

测试数据2    运行时错误(SIGSEGV)  
测试数据3    运行时错误(SIGSEGV)  
这是怎么回事
搜索更多相关主题的帖子: 错误 int function warning type 
2017-10-11 18:27
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:10 
程序没问题的,估计你输入错了。
是严格按照格式的吗?
比如:3,5
2017-10-11 18:52
凌若寒曦
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2017-10-5
得分:0 
回复 2楼 pydlq
谢谢,确实如此
2017-10-11 20:07
汤门无心
Rank: 1
等 级:新手上路
帖 子:2
专家分:7
注 册:2017-10-11
得分:0 
#include<stdio.h>
int main()
{ int a,b,c;
printf("please input a and b and then prsee enter:\n");
  scanf("%d,%d",&a,&b);
  c=a*b;
  printf("%d*%d=%d",a,b,c);
  return 0;
}
加一句这个会更好,刚开始学编程要养成编程严谨的习惯,不然到后期大型程序会比较麻烦。
2017-10-11 21:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481291-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.406791 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved