Int问题

smileFFFF 2016-03-07 09:42:30
一个小小的倒序输出代码,就是输入 123 输出321 如果我int m; 单独一行,代码就是正确的,int n,m 这样的把这些int在一起就会出错,为什么呢?
#include<stdio.h>
int main()
{
int n,sum,j,i,a[100];
int m; // m 单独 int 一行 这样程序就是正确的;
scanf("%d",&n);
m=n;
while(m!=0)
{
a[i++]=m%10;
m=m/10;
}
sum=0;
for(j=0;j<i;j++)
{
sum=sum*10+a[j];
}
printf("%d",sum);
return 0;
}



#include<stdio.h>
int main()
{
int n,m,sum,j,i,a[100]; // 把m 和 n int 在一行,运行结果会出错;

scanf("%d",&n);
m=n;
while(m!=0)
{
a[i++]=m%10;
m=m/10;
}
sum=0;
for(j=0;j<i;j++)
{
sum=sum*10+a[j];
}
printf("%d",sum);
return 0;
}
...全文
199 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 2016-03-08
  • 打赏
  • 举报
回复
出错的原因是你的i没有初始化,和你定义变量几行没关系
苏叔叔 2016-03-08
  • 打赏
  • 举报
回复
显然和放一行或两行没有关系。
galiniur0u 2016-03-08
  • 打赏
  • 举报
回复
楼主的i没有赋初值就使用,有些编译器会提前处理然后给出错误。跟是否是int m,n;无关。
JonyShan 2016-03-07
  • 打赏
  • 举报
回复
你两个都是错的原因都一样 i 没有初始化
StayY 2016-03-07
  • 打赏
  • 举报
回复
试着将i 初始化为0
zc20060102 2016-03-07
  • 打赏
  • 举报
回复
是不是i变量等没有初始化
小灸舞 版主 2016-03-07
  • 打赏
  • 举报
回复
LZ我用VS2012编译运行以后,两种方式都是报错的。。。。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧