#11878: 用指標會錯誤?


anodare (Anodare)

學校 : 高雄市立中正高級中學
編號 : 44938
來源 : [59.115.183.152]
最後登入時間 :
2024-11-16 20:33:28
a020. 身分證檢驗 | From: [123.205.235.45] | 發表日期 : 2017-04-08 17:41

#include <iostream>
using namespace std;


bool real(char *s)
{
int num[26] = { 10, 11, 12, 13, 14, 15, 16, 17, 34, 18, 19, 20, 21, 22, 35, 23, 24, 25, 26, 27, 28, 29, 32, 30, 31, 33 };
int result = (num[s[0] - 'A'] / 10) + 9 * (num[s[0] - 'A'] % 10);
for (int i = 8; i > 0; i--)
{
s++;
result += i * (*s - '0');
}
s++;
result += (*s - '0');
return (result % 10 == 0);
}


int main()
{
char *s;
while (~scanf("%s", s))
{
printf(real(s) ? "real\n" : "fake\n");
}
}

 

請問為什麼這個程式會RE呢?

 
#11879: Re:用指標會錯誤?


letitgo (讓它過)

學校 : 不指定學校
編號 : 65414
來源 : [49.219.166.249]
最後登入時間 :
2018-08-18 17:01:06
a020. 身分證檢驗 | From: [101.12.227.173] | 發表日期 : 2017-04-08 22:19

s 未指向配置,引起不定錯誤。




 
ZeroJudge Forum