
这两个程序明明完全一样,为什么输出结果不会一样?第一个输出了随机数据值
第一个数值超出long范围了吧
【相关推荐】
- 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7511500
- 这篇博客也不错, 你可以看下C语言变量的定义与声明,为什么全局变量不能赋值
- 同时,你还可以查看手册:c语言-内存模型与数据竞争 中的内容
- 您还可以看一下 CSDN讲师老师的C语言精髓之编译过程视频教程课程中的 计算机的组成部分,栈内存的特点;画出内存图,引入指针的概念小节, 巩固相关知识点
- 除此之外, 这篇博客: C语言用循环实现:随机输入一个整数,求出该数每们数字以及它们的和并输出中的 这里写自定义目录标题 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
#include<stdio.h>
#include<math.h>
main()
{
int n,sum=0,temp;
int i,a[50],x=0;
printf(“请输入一个整数:”);
scanf("%d",&n);
temp=n;
while(n/10!=0)
{
sum+=n%10;
x++;
a[x]=n%10;
printf("%d “,a[x]);
n/=10;
}
sum=sum+n;
temp=temp/pow(10,x);
printf(”%d\n",temp);
printf(“数字和为:%d”,sum);
}``
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
用unsigned long long