为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只甜甜圈 2019-04-18 18:19:28
例如以下会报错。int a = 100     00;所以空格换行这些输入编译器其实都是有内置判断的是吗?
查看完整描述

6 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

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

int b = 10;
这样的忽略没问题


查看完整回答
反对 回复 2019-05-14
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-05-14
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

图片说明

查看完整回答
反对 回复 2019-05-14
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

如果你写成

int a = 
   10000;

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

int a = 100
      00;
//or
int a = 100     00;

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

图片说明

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


查看完整回答
反对 回复 2019-05-14
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

不知道你说的是什么编译器什么语言,如果是C#的话,那么标识符内部不能换行/空格。之间可以。

比如
int abc = 123;
其中 
int
abc
=
123
;
这些每个是一个整体,内部不可以分割。
你可以
int abc
= 123;
或者
int
abc = 123;
但是不能
int a
bc = 123;
或者int abc = 12
3;

你要知道,编程语言是英语为母语的人发明的,那么和英文一样,单词中间不能拆分,否则乱套了。
比如
nowhere,是一个单词,但是如果可以随意拆分,是now here还是no where?那不搞不清楚了么


查看完整回答
反对 回复 2019-05-14
  • 6 回答
  • 0 关注
  • 858 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信