c语言编程问题 谢谢了

[复制链接]
查看11 | 回复3 | 2009-6-10 13:07:58 | 显示全部楼层 |阅读模式
#include
void main()
{
int i=0,k;
long int num;
int a[5];
printf("输入一个不多于五位的正数\n");
scanf("%ld",num);
printf("输入的数从低位道高位依次是:");
while(num>0)
{ a=num%10;

num=num/10;

printf("%d ",
a);

i++;
}
printf("\n输入的数是%d位数",i);
printf("\n输入的数逆序排列是:");
k=i;
for(i=0;i<k;i++)printf("%d",a);
}
运行结果是 显示 不能written 咋办

回复

使用道具 举报

千问 | 2009-6-10 13:07:58 | 显示全部楼层
scanf中需要一个指针地址,你这里直接给了num你看看,你定义的是long int型的。一个指针就占4字节,这里远远超过4字节,也就是说在scanf里面,他要往num里写,此时你用的不是&num,而是num,所以他找不到这个非常大的值(也就是地址)指向的内容。所以了,报出不能write.具体你调试下就知道。自己多动手。...
回复

使用道具 举报

千问 | 2009-6-10 13:07:58 | 显示全部楼层
scanf("%ld",num);这里错了scanf("%ld",&num);...
回复

使用道具 举报

千问 | 2009-6-10 13:07:58 | 显示全部楼层
头文件加上#include试试...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行