数组名作为指针反向输出10个数

kevin-chen 2013-05-23 04:23:57
这个程序哪里不对了,得不到我想要的结果啊。。。。

#include <stdio.h>
#define N 10
void main()
{
int a[N],*p;
printf("Enter %d numbers:",N);
for (p=a;p<a+N;p++)
scanf("%d",p);
printf("In reverse order:");
for (p=a+N-1;p>=a;p--);
printf("%d",*p);
printf("\n");
}
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lunat 2013-05-23
  • 打赏
  • 举报
回复
代码格式规范、注释,这才是新手最先需要学习的地方:

#include <stdio.h>

// 反向数字个数
#define N 10

void main()
{
    int a[N], *p;
	
    printf("Enter %d numbers:", N);
	
    // 输入N个数字保存到数组a中
    for (p = a; p < a + N; p++)
    {
        scanf("%d", p);
    }
	
    printf("In reverse order:");
	
    // 反向输出数组a中的数字
    for (p = a + N - 1; p - a >= 0; p--)
    {
        printf("%d",*p);
    }
    
    printf("\n");
}
明月书君 2013-05-23
  • 打赏
  • 举报
回复
for(i=0;i<=forever;i++); printf(“I love you”) 你永远不知道我爱你。。。 for循环后直接跟分好 就相当于先循环完,再执行语句 因为分号代表一个语句结束 而for循环本身后面不加分好 加了分好就说明循环体什么都没有 这是初学者最容易犯的错误
赵4老师 2013-05-23
  • 打赏
  • 举报
回复
这是一种初学者的通病。
hugett 2013-05-23
  • 打赏
  • 举报
回复

#include <stdio.h>
#define N 10
void main()
{
	int a[N],*p;
	printf("Enter %d numbers:",N);
	for (p=a;p<a+N;p++)
		scanf("%d",p);
	printf("In reverse order:");
	for (p=a+N-1;p - a >=0;p--)//这里多了个分号。。
	printf("%d",*p);
	printf("\n");
}
anshiny 2013-05-23
  • 打赏
  • 举报
回复
for (p=a+N-1;p>=a;p--); ;不要。

69,394

社区成员

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

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