使用唯一ASCII字符的最长C代码行是什么?

时间:2013-05-26 17:50:44

标签: c syntax ascii lexical

这个挑战涉及到C语言的一些微妙方面。我的第一次尝试就是这样。

int main(int argc, char *argv[]) {
  int a,b,c,d,e,g,h,i;
  int f[1];
  double A,B,C,D,EFGHIJKLMNOPQRSTUVWXYZhijklmnopqrstuvwxyz_;
  // Following line is a line using many ASCII characters.  (Begins with a TAB)
    {a =!~(0*b%c^d&e+f[g]|h-i)?A:B>C,D<EFGHIJKLMNOPQRSTUVWXYZhijklmnopqrstuvwxyz_/1.23456789;}
  // Failed to use \ ` @ # $ " ' : and various control characters.
  return (0);
}

如何使用\ backquote @ # $ " ' :以及更多控制字符?

背景:在创建代码检查器和美化器时,我们遇到了各种微妙的C语言问题。以上是一组自我锻炼。

注意:ASCII是字符代码0 - 127 注意:字符串通常使用成对的引号,并且该行仅限于唯一用法。

1 个答案:

答案 0 :(得分:1)

也许您可以将所有内容都放在字符串中,然后使用\转到下一行:

void main() {
  int a,b,c,d,e,g,h,i,f[1];
  double A,B,C,D,EFGHIJKLMNOPQRSTUVWXYZhijklmnopqrstuvwxyz_;
  // Following line is a line using many ASCII characters.  (Begins with a TAB)
    {a =!~(0*b%c^d&e+f[g]|h-i)?A:B>C,D<EFGHIJKLMNOPQRSTUVWXYZhijklmnopqrstuvwxyz_/1.23456789;}"'`@#$\
 ";
}