[問題]C_陣列問題
有請各位大大了,麻煩幫小弟解決一個問題,謝謝
#include<stdio.h>
#include<stdlib.h>
#define SIZE 100
void square(int *arr);
void MAX(int *arr);
void MAX(int *arr)
{
int i,*max;
max=arr;
for(i=0;i<SIZE;i++)
if(*max<*(arr+i))
max=arr+i;
}
void square(int *arr)
{
int i;
for(i=0;i<SIZE;i++)
*(arr+i)=*(arr+i)**(arr+i);
}
int main()
{
int i;
int ARR[SIZE]={0};
printf("輸入數字,用空白格開,結束案\\0\n");
for(i=0;i<SIZE;i++)
{
scanf("%d",&ARR[i]);
if(ARR[i]==0)
break;
}
printf("陣列內容");
for(i=0;i<SIZE;i++)
printf("% d ",ARR[i]);
printf("\n");
square(ARR);
printf("{");
for(i=0;i<SIZE;i++)
printf("%d ",ARR[i]);
printf("}");
MAX(ARR);
printf("\n%d\n",MAX);
system("pause");
return 0;
}
遇到的問題: (題意請描述清楚)
(1) 這個程式中,小弟本來希望按"\0"時,程式就會結束,但是他卻會補0
(2) 在比較MAX時,跑出來的時也是怪怪的ORZ
希望得到的正確結果:
希望板上的大大能幫我指出問題所在
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.199.96
※ 編輯: bri410116 來自: 140.117.199.96 (06/19 21:35)
→
06/19 21:39, , 1F
06/19 21:39, 1F
→
06/19 21:40, , 2F
06/19 21:40, 2F
→
06/19 21:40, , 3F
06/19 21:40, 3F
→
06/19 21:41, , 4F
06/19 21:41, 4F
→
06/19 21:41, , 5F
06/19 21:41, 5F
→
06/19 21:43, , 6F
06/19 21:43, 6F
敢問一下大大,我是想在 \0 時,程式結束,但他卻補0,這要如何解呢? 謝謝
※ 編輯: bri410116 來自: 140.117.199.96 (06/19 22:18)
→
06/19 22:19, , 7F
06/19 22:19, 7F
→
06/19 22:19, , 8F
06/19 22:19, 8F
→
06/19 22:25, , 9F
06/19 22:25, 9F
→
06/19 23:42, , 10F
06/19 23:42, 10F
→
06/19 23:48, , 11F
06/19 23:48, 11F