E:\C語言程序\vc++\MSDev98\MyProjects\fdggthy\dgtreh.cpp(13) : error C2064: term does not evaluate to a function
//Arr是一個包含n個整數的一維數組。現將數組中的每個元素向後移m個位置,
//使最後m個數變成最前面的m個數。寫一函數實現以上功能,
//在主函數中輸入n個整數和輸出調整後的的n個數。
#include "stdafx.h"
#include<stdio.h>
#define N 10
void move(int arr[],int m)
{
int i;
if(i>=0&&i<=N-1-m)
{
for(i=0;i<=m-1;i++)
*arr(i+m-1)=*arr(i);
}
else if(i>N-m-1&&i<=N-1)
{
for(i=N-m;i<=N-1;i++)
*arr(i-m-1)=*arr(i);
}
for(i=0;i<=N-1;i++)
printf("%d",arr[i]);
printf("\n");
}
void main()
{
int m,i,arr[10];
printf("Enter 10 numbers: ");
for(i=0;i<=N-1;i++)
scanf("%d",&arr[i]);
printf("Enter m: ");
scanf("%d",&m);
move(arr,m);
}
請問什麼意思?哪裡錯了?
函數名要寫成這樣void move(int *arr,int m)
裡面的地方要改成下面這種
*(arr+i+m-1)=*(arr+i);
你寫的
*arr(i-m-1)
是沒有這種寫法的
望采納,呵呵