首先你用scanf("%s",s);是不可能读入“有空格”的字符串的,它不接受空格碰到空格就认为你输入的字符串结束了,得用gets函数或单个接收字符的函数才行二是如果你用的是C编译器而不是C++兼容的C编译器,那么char * a=s,* b=t;这一句写在printf("input string:");和scanf("%s",s);后面就是非法的C编译器不允许在代码行之间声明变量,必须集中放在函数开头处估计你说嘚错误是第二种情况造成的,因为那一句并没有什么语法错误!
首先你用scanf("%s",s);是不可能读入“有空格”的字符串的,它不接受空格碰到空格就认为你输入的字符串结束了,得用gets函数或单个接收字符的函数才行二是如果你用的是C编译器而不是C++兼容的C编译器,那么char * a=s,* b=t;这一句写在printf("input string:");和scanf("%s",s);后面就是非法的C编译器不允许在代码行之间声明变量,必须集中放在函数开头处估计你说嘚错误是第二种情况造成的,因为那一句并没有什么语法错误!
vc通过编译如果要解释的话,你可以再追问一下
这是有效长度 即不包括最后的结束符
解释一下行么,不是说需偠在主函数打印么那是不是由函数调用啊?