#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char a[200];
int i=0;
while(scanf("%c",&a[i])!=NULL)
{
a[i]=a[i]-7;
printf("%c",a[i]);
i++;
}
return 0;
}
我的程式碼在Codeblock終能跑出正解,但在這裡跑不出AC,跑出記憶體區段錯誤,有人知道原因嗎
因為測資裡面字串長度不一定且不一定只有1個字元,所以最外層的while迴圈判別式改成這樣:
scanf("%s",a)!=EOF
最外層的while迴圈裡面再用while迴圈:
i=0;
while(a[i]!='\0'){
a[i]=a[i]-7;
i++;
}
最外層的while迴圈最後用printf函數輸出:
printf("%s\n",a);
#include
#include
int main(void)
{
char a[200];
int i=0;
while(scanf("%c",&a[i])!=NULL)
{
a[i]=a[i]-7;
printf("%c",a[i]);
i++;
}
return 0;
}
我的程式碼在Codeblock終能跑出正解,但在這裡跑不出AC,跑出記憶體區段錯誤,有人知道原因嗎
因為測資裡面字串長度不一定且不一定只有1個字元,所以最外層的while迴圈判別式改成這樣:scanf("%s",a)!=EOF
最外層的while迴圈裡面再用while迴圈:
i=0;
while(a[i]!='\0'){
a[i]=a[i]-7;
i++;
}
最外層的while迴圈最後用printf函數輸出:
printf("%s\n",a);
200不夠