c语言编程问题 谢谢了

#include<stdio.h>voidmain(){inti=0,k;longintnum;inta[5];printf("输入一个不多于五位的正数\n");scan... #include<stdio.h>
void main()
{
int i=0,k;
long int num;
int a[5];
printf("输入一个不多于五位的正数\n");
scanf("%ld",num);
printf("输入的数从低位道高位依次是:");
while(num>0)
{ a[i]=num%10;
num=num/10;
printf("%d ",
a[i]);
i++;
}
printf("\n输入的数是%d位数",i);
printf("\n输入的数逆序排列是:");
k=i;
for(i=0;i<k;i++)printf("%d",a[i]);
}

运行结果是 显示 不能written 咋办
展开
 我来答
winner8080
2009-06-10 · TA获得超过1292个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:399万
展开全部
scanf中需要一个指针地址,你这里直接给了num
你看看,你定义的是long int型的。

一个指针就占4字节,这里远远超过4字节,
也就是说在scanf里面,他要往num里写,此时你用的不是&num,而是num,所以他找不到这个非常大的值(也就是地址)指向的内容。

所以了,报出不能write.

具体你调试下就知道。

自己多动手。
百度网友e9042513a
2009-06-10 · TA获得超过6984个赞
知道大有可为答主
回答量:2388
采纳率:0%
帮助的人:3481万
展开全部
scanf("%ld",num);
这里错了
scanf("%ld",&num);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
74ls020
2009-06-10 · TA获得超过3150个赞
知道大有可为答主
回答量:1164
采纳率:0%
帮助的人:1179万
展开全部
头文件加上#include<iostream.h>试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式