當前位置:編程學習大全網 - 編程軟體 - 用c語言編程求 18位 身份證的驗證碼

用c語言編程求 18位 身份證的驗證碼

除了樓上所說的,在補充壹點

1:char id[19]; //最後壹個字節是用於'\0'的

2:除了這個原因,還有壹個更重要的是gets得到的都是字符,在妳的jisuan函數裏,for循環中

result+=((*p)*(*q));

這句話其實是字符的ascII碼相乘的,並不是數字相乘,可以改成

(((*p) - '0') * ((*q) - '0'));

這樣就是對應字符的數字相乘了(這個很好理解吧?)

3:雖然jisuan返回的是個比較小的數,但是在for循環裏計算的時候result定義成char型的會有溢出,會對妳的結果有影響吧,我建議改成unsigned int

  • 上一篇:濟寧誠信彩印科技有限公司怎麽樣?
  • 下一篇:請問怎麽用SAI把刷子調整到這麽平的鉤線?我覺得用平筆畫直接彎是不對的。。幫助QwQ
  • copyright 2024編程學習大全網