开发者社区> 问答> 正文

小问题,既然编译器会忽略空格,为何某些时候空格、换行也会报错 ?报错

例如以下会报错。

int a = 100
    00;

所以空格换行这些输入编译器其实都是有内置判断的是吗?

展开
收起
爱吃鱼的程序员 2020-06-23 20:49:39 693 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    不知道你说的是什么编译器什么语言,如果是C#的话,那么标识符内部不能换行/空格。之间可以。比如intabc=123;其中intabc=123;这些每个是一个整体,内部不可以分割。你可以intabc=123;或者intabc=123;但是不能intabc=123;或者intabc=123;你要知道,编程语言是英语为母语的人发明的,那么和英文一样,单词中间不能拆分,否则乱套了。比如nowhere,是一个单词,但是如果可以随意拆分,是nowhere还是nowhere?那不搞不清楚了么

    忽略空格,换行是在你输入正确的前提下.比如
    inta=0;

    intb=10;
    这样的忽略没问题

    对了,字符串的空格,或者突然在一个空白行上打上很多空格符号,是有问题的!
    尤其是PYTHON语言

    如果你写成

    inta=10000;

    是没有问题的,java语法中是合法的。
    但是你写成

    inta=10000;//orinta=10000;

    java语法无法解析100[空格][空格]00是什么东西,自然会报错,你可以在ide工具中查看错误信息。

    可见,这是个意外符号,也就是java基础中的,数字变量中是不能有空格的。

    C语言里面换行要加\

    2020-06-23 20:49:55
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载