标题:指针 循环问题 有n个整数,使前面各数向后移m个位置,移出的数再从开头移 ...
只看楼主
n172474108
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2016-8-28
结帖率:0
已结贴  问题点数:20 回复次数:1 
指针 循环问题 有n个整数,使前面各数向后移m个位置,移出的数再从开头移入,自己编写的程序通不过,求大神指教错误
#include <stdio.h>
#define N 100
#include <stdlib.h>
int main()
{
    int m, n, i, k, a[N], *p;
    k = n-1;
    printf("n,m= "); scanf("%d,%d", &n, &m);
    if (n < 2 || n>100 || m < 1)
        return 0;
    if (m > n)
        m = m%n;
    for (i = 0; i < m; i++)
    {
        *p = a[n-1];
        for (k = n-1; k > 0; k--)
        {

            a[k] = a[k - 1];

            
        }
        a[0] = *p;
    }
   
搜索更多相关主题的帖子: include return 
2016-12-16 15:40
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:20 
scanf中间不要空格。
再有,p在未指向某个确定的地址之前是野指针,不能通过*p访问它的数据
2016-12-16 17:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472489-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.072345 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved