我用WIN-TC学编程怎么老是非法符号?
#include<stdio.h>main(){printf(“123456789012345678901234567890\n”);printf(“123\t456\n...
#include<stdio.h>
main()
{
printf(“123456789012345678901234567890\n”);
printf(“123\t456\n”);
printf(“12345\b123\r9\n”)
getch();
}
哪里不对? 展开
main()
{
printf(“123456789012345678901234567890\n”);
printf(“123\t456\n”);
printf(“12345\b123\r9\n”)
getch();
}
哪里不对? 展开
2个回答
展开全部
#include<stdio.h>
main()
{
printf(“123456789012345678901234567890\n”);
printf(“123\t456\n”);
printf(“12345\b123\r9\n”)//这里少了个分号
getch();
}
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();
}
-------------------
你使用直接复制的方式会看到第一个程序会出现“非法字符”的错误而第二个例子却可以正常运行。这是因为半叫的空格" "和全角的空格" "看似相同而实质是不同的!他们一个是127的中文内码!因此需要将其中的全角字符转半角。
或许你又问:我怎么知道是全角字符还是半角字符呢?好办,当你找到错误的行后,移动光标,如果一次跳两个字符程长度的话,那么这个字符就是全角字符。以上面的检验上面的例子为例,将光标定位到printf的前部,第一个程序移动光标两次就到了行首,而第二个需要移动4次,你同时发现第一个移动时一次跳了两个字符长,这就说明你跳过的这个字符就是全角符号,将它改为半角。例如“/”要改“/”,“*”要改“*”,“;”要改“;”等等。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询