"无效后缀"k"对整数常量"错误

Bad*_*est 0 c

我正在编写一个C程序,使用高斯算法打印给定年份的复活节日期.我是C的新手.这是代码:

#include <math.h>
int main () {
  int year = 1998;
  int a = year % 19;
  int b = year % 4;
  int c = year % 7;
  int k = floor (year/100);
  int p = floor ((13 + 8k)/25);
  int q = floor (k/4);
  int M = (15 ? p + k ? q) % 30;
  int N = (4 + k ? q) % 7;
  int d = (19a + M) % 30;
  int e = (2b + 4c + 6d + N) % 7;
  if (d == 29 && e == 6) {
    printf("19 April");
  }
  else if (d == 28 && e = 6 && (11M + 11) % 30 < 19) {
    printf("18 April");
  }
  else if (22 + d + e < 32) {
    printf("%d March", (22 + d + e));
  }
  else {
    printf("%d April", d + e - 9);
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

和根据键盘的错误:

Line 23: error: invalid suffix "k" on integer constant
In function 'main':
Line 10: error: stray '\342' in program
Line 10: error: stray '\210' in program
Line 10: error: stray '\222' in program
Line 10: error: expected ')' before 'p'
Line 10: error: stray '\342' in program
Line 10: error: stray '\210' in program
Line 10: error: stray '\222' in program
Line 11: error: stray '\342' in program
Line 11: error: stray '\210' in program
Line 11: error: stray '\222' in program
Line 11: error: expected ')' before 'q'
Line 11: error: invalid suffix "a" on integer constant
Line 11: error: invalid suffix "b" on integer constant
Line 16: error: invalid suffix "c" on integer constant
Line 21: error: invalid suffix "d" on integer constant
Line 32: error: invalid suffix "M" on integer constant
Run Code Online (Sandbox Code Playgroud)

据我所知,第23行没有"k",为什么编译器会抱怨?

R..*_*R.. 8

我认为这8k可能是8*k:

int p = floor ((13 + 8k)/25);
Run Code Online (Sandbox Code Playgroud)

  • 不,你输入的是UTF-8`U + 2212 MINUS SIGN`而不是标准的'HYPHEN-MINUS`字符.你也需要解决这个问题. (2认同)