情況是這樣的
我根據題目(a065)寫出以下的程式碼:
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
int main()
{
char str[7];
while (scanf("%s",str) != EOF)
{
int i;
for (i=0;i<6;i++)
{
int num = abs(str[i]-str[i+1]);
printf("%d",num);
}
printf("\n");
}
return 0;
}
在我自己的電腦測試題目給的數據都沒有問題
但是丟上來測試,卻得到
執行時發生錯誤 (SIGSEGV)(11)!!
Segmentation fault, an address reference boundary error.(記憶體區段錯誤)
可能原因為:
* 通常為使用超過陣列範圍
* 指標指向不正確位址!
* 陣列初始化不正確!
* 嘗試在執行時期定義陣列長度!
sh: line 1: 11348 程式記憶體區段錯誤 /tmp/code_788696.exe <a065.in >/tmp/code_788696.out
我想了很久,都找不出原因,希望大家幫我看看。
軟體我是使用:
Microsoft Visual C++ 2008 Express Edition
情況是這樣的
我根據題目(a065)寫出以下的程式碼:
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
int main()
{
char str[8]; 改成8就AC
while (scanf("%s",str) != EOF)
{
int i;
for (i=0;i<6;i++)
{
int num = abs(str[i]-str[i+1]);
printf("%d",num);
}
printf("\n");
}
return 0;
}
在我自己的電腦測試題目給的數據都沒有問題
但是丟上來測試,卻得到
執行時發生錯誤 (SIGSEGV)(11)!!
Segmentation fault, an address reference boundary error.(記憶體區段錯誤)
可能原因為:
* 通常為使用超過陣列範圍
* 指標指向不正確位址!
* 陣列初始化不正確!
* 嘗試在執行時期定義陣列長度!
sh: line 1: 11348 程式記憶體區段錯誤 /tmp/code_788696.exe /tmp/code_788696.out
我想了很久,都找不出原因,希望大家幫我看看。
軟體我是使用:
Microsoft Visual C++ 2008 Express Edition
情況是這樣的
我根據題目(a065)寫出以下的程式碼:
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
int main()
{
char str[8]; 改成8就AC
while (scanf("%s",str) != EOF)
{
int i;
for (i=0;i<6;i++)
{
int num = abs(str[i]-str[i+1]);
printf("%d",num);
}
printf("\n");
}
return 0;
}
在我自己的電腦測試題目給的數據都沒有問題
但是丟上來測試,卻得到
執行時發生錯誤 (SIGSEGV)(11)!!
Segmentation fault, an address reference boundary error.(記憶體區段錯誤)
可能原因為:
* 通常為使用超過陣列範圍
* 指標指向不正確位址!
* 陣列初始化不正確!
* 嘗試在執行時期定義陣列長度!
sh: line 1: 11348 程式記憶體區段錯誤 /tmp/code_788696.exe /tmp/code_788696.out
我想了很久,都找不出原因,希望大家幫我看看。
軟體我是使用:
Microsoft Visual C++ 2008 Express Edition
我的也 RE
RE (SIGKILL)
執行時期錯誤
產生立即終止訊號!! Killed
不知道是哪邊錯了....
最怕的不是 WA 而是這種錯誤
#include<iostream>
using namespace std;
int change(int a)
{
if(a>=0)
return a;
else
return -a;
}
int main()
{
char a,b;
cin >> b;
for(int time=7;time>1;time--)
{
cin >> a;
cout << change((int)b-(int)a) ;
b=a;
if(time==2)
{
cout << endl ;
cin >> b;
time=8;
continue;
}
}
}