

本人代碼如下,在cb里試了N次都能用,平臺卻顯示運行錯誤,哪位大神幫我看看哪里出問題了。。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0;
char a[5];
a[i]=getchar();
while(a[i]!='\n')
{
i++;
a[i]=getchar();
}
printf("%d\n",i);
for(int j=0; j<i-1; j++)
{
printf("%d ",a[j]-48);
}
printf("%d\n",a[i-1]-48);
for(int j=i-1; j>=0; j--)
{
printf("%d",a[j]-48);
}
}
uj5u.com熱心網友回復:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0;
//char a[5];
char a[16];
a[i]=getchar();
while(a[i]!='\n')
{
i++;
if (i > 5) {
printf("Too big!\n");
return 0;
}
a[i]=getchar();
}
printf("%d\n",i);
for(int j=0; j<i-1; j++)
{
printf("%d ",a[j]-48);
}
printf("%d\n",a[i-1]-48);
for(int j=i-1; j>=0; j--)
{
printf("%d",a[j]-48);
}
}
供參考~
陣列長度為5不合適,因為也得給'\n'留一個空間的,因為你把'\n'放在了a[i]中。我的修改用了16,個人建議陣列長度定義為2^n的空間;
uj5u.com熱心網友回復:
試了一下,可以了,謝謝!可以解釋一下為什么要陣列長度要定義為2^n嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/273372.html
標籤:C語言
上一篇:驚!c語言頭檔案里定義的東西用不了了?大家幫忙看一下
下一篇:自學資料結構 求高人指點
