一、
该型为:输出字符串,直到遇到......才结束。
还可以写为:
scanf("%[^&]",arr)
scanf("%[^*]",arr)
scanf("%[^#]",arr)
.......
1 ^表示"非",[^\n]表示读入换行字符就结束读入。这个是scanf的正则用法,我们都知道scanf不能接收空格符,一接受到空格就结束读入,所以不能像gets()等函数一样接受一行字符串,但是使用%[^\n]就可以读取一行,直到碰到’\n’才结束读入。
2 *表示该输入项读入后不赋予任何变量,即scanf("%*[^\n]%*c")表示跳过一行字符串。其中%c可以把’\n’吸收掉,防止影响后续输入。
二、
arr为数组,ch为字符
strchr(arr,ch);
原型:char *strchr(const char *str, int c)
作用:在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。