scanf获取字符串
scanf这样的字符怎么读?
scanf怎么格式读取这样一个字符?
很难遵循你的方法,因为scanf省略分隔符是一个空格,也就是说,数据和数据之间用空格隔开。如果输入的数据有空格,scanf很难区分空格是分隔符还是输入的实际数据,因此建议如果输入字符有空格,则不要使用空格作为分隔符。例如,您可以使用逗号。
str=\\
c如何获得语言字符类型?
在C语言中,获取字符串的方法主要有三种
1 scanf(#34\\%s#34,src)
这种方法很常见,遇到空格和返回结束。
例:
#include ltstdio.hgt
int main()
{
char src[100]
scanf(#34\\%s#34,src)
printf(#34\\%s#34,src)
return 0
}
scanf也可以遇到空格不结束。
\\%[]可用于输入多个字符,并自定义结束符。
对于\\%[]也可以用^ 任意字符(包括 eof)结束字符串的输入。
比如\\%[^EOF]就是直到有EOF 输入,字符串停止。
例:
#include ltstdio.hgt
int main()
{
char src[100]
scanf(#34\\%[^\\
]#34,src)///直到输入返回键,读取结束,当然不能超过a定义的大小,否则就会出错。
printf(#34\\%s#34,src)
return 0
}
2 gets(src)
gets()遇到空格不停止,遇到回车停止。
例:
#include ltstdio.hgt
int main()
{
char src[100]
gets(src)
printf(#34\\%s#34,src)
return 0
}
3
while((ch = getchar()) != ‘\\
’)
{
src[i] = ch
i
if( i == 9)
{
printf(#34error!\\
#34)
exit(1)
}
}
src[i] = #39\\\\0#39
虽然效率低,但长度可以控制。