首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2013-07-09 
数组名作为指针反向输出10个数这个程序哪里不对了,得不到我想要的结果啊。。。。#include stdio.h#define N

数组名作为指针反向输出10个数
这个程序哪里不对了,得不到我想要的结果啊。。。。

#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");
}

[解决办法]

#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");
}

[解决办法]
for(i=0;i<=forever;i++);
printf(“I love you”)

你永远不知道我爱你。。。

for循环后直接跟分好 就相当于先循环完,再执行语句

因为分号代表一个语句结束
而for循环本身后面不加分好
加了分好就说明循环体什么都没有

这是初学者最容易犯的错误
[解决办法]
代码格式规范、注释,这才是新手最先需要学习的地方:


#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");
}

热点排行