我用WIN-TC学编程怎么老是非法符号?
答案:2 悬赏:30 手机版
解决时间 2021-01-30 23:28
- 提问者网友:嘚啵嘚啵
- 2021-01-30 07:38
我用WIN-TC学编程怎么老是非法符号?
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-01-30 08:23
#include
main()
{
printf(“123456789012345678901234567890\n”);
printf(“123\t456\n”);
printf(“12345\b123\r9\n”)//这里少了个分号
getch();
}追问错误 c_asm.c 4: 非法字符 '? (0xa1)在 main 函数中
这是输出那栏的提示,找不到啊追答#include
void main(void)
{
printf(“123456789012345678901234567890\n”);
printf(“123\t456\n”);
printf(“12345\b123\r9\n”);
getch();
}
你这样试试,顺便说一下,所有标点符号必须是英文输入法的标点符号啊。
所谓非法字符很可能是由于其中有全角字符引起的。你应该知道将“main()”写成“主函数()”无法通过,同理,写成“main()”也是无法通过的,因为TC程序使用半角的字符,如果使用全角的字符或中文则会出现“非法字符”的错误。而在某些时候,全角字符和半角字符看起来可以是一样的,但是实质却不同,在编译时也会导致“非法字符”的错误。举一个例子:
-------------------
main()
{
printf("Hello World!");
getch();
}
-------------------
main()
{
printf("Hello World!");
getch();
}
-------------------
你使用直接复制的方式会看到第一个程序会出现“非法字符”的错误而第二个例子却可以正常运行。这是因为半叫的空格" "和全角的空格" "看似相同而实质是不同的!他们一个是<128的ASCII码,另一个>127的中文内码!因此需要将其中的全角字符转半角。
或许你又问:我怎么知道是全角字符还是半角字符呢?好办,当你找到错误的行后,移动光标,如果一次跳两个字符程长度的话,那么这个字符就是全角字符。以上面的检验上面的例子为例,将光标定位到printf的前部,第一个程序移动光标两次就到了行首,而第二个需要移动4次,你同时发现第一个移动时一次跳了两个字符长,这就说明你跳过的这个字符就是全角符号,将它改为半角。例如“/”要改“/”,“*”要改“*”,“;”要改“;”等等。
main()
{
printf(“123456789012345678901234567890\n”);
printf(“123\t456\n”);
printf(“12345\b123\r9\n”)//这里少了个分号
getch();
}追问错误 c_asm.c 4: 非法字符 '? (0xa1)在 main 函数中
这是输出那栏的提示,找不到啊追答#include
void main(void)
{
printf(“123456789012345678901234567890\n”);
printf(“123\t456\n”);
printf(“12345\b123\r9\n”);
getch();
}
你这样试试,顺便说一下,所有标点符号必须是英文输入法的标点符号啊。
所谓非法字符很可能是由于其中有全角字符引起的。你应该知道将“main()”写成“主函数()”无法通过,同理,写成“main()”也是无法通过的,因为TC程序使用半角的字符,如果使用全角的字符或中文则会出现“非法字符”的错误。而在某些时候,全角字符和半角字符看起来可以是一样的,但是实质却不同,在编译时也会导致“非法字符”的错误。举一个例子:
-------------------
main()
{
printf("Hello World!");
getch();
}
-------------------
main()
{
printf("Hello World!");
getch();
}
-------------------
你使用直接复制的方式会看到第一个程序会出现“非法字符”的错误而第二个例子却可以正常运行。这是因为半叫的空格" "和全角的空格" "看似相同而实质是不同的!他们一个是<128的ASCII码,另一个>127的中文内码!因此需要将其中的全角字符转半角。
或许你又问:我怎么知道是全角字符还是半角字符呢?好办,当你找到错误的行后,移动光标,如果一次跳两个字符程长度的话,那么这个字符就是全角字符。以上面的检验上面的例子为例,将光标定位到printf的前部,第一个程序移动光标两次就到了行首,而第二个需要移动4次,你同时发现第一个移动时一次跳了两个字符长,这就说明你跳过的这个字符就是全角符号,将它改为半角。例如“/”要改“/”,“*”要改“*”,“;”要改“;”等等。
全部回答
- 1楼网友:雪起风沙痕
- 2021-01-30 09:02
#include
void main(void)
{
printf("123456789012345678901234567890 ");
printf("123 456 ");
printf("123451239 ");
getch();
}
我这段代码是在英文输入法模式下输入,测试正常
你的代码开启中文输入法并具用全角中文字符模式下输入的
void main(void)
{
printf("123456789012345678901234567890 ");
printf("123 456 ");
printf("123451239 ");
getch();
}
我这段代码是在英文输入法模式下输入,测试正常
你的代码开启中文输入法并具用全角中文字符模式下输入的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯