使用scanf()以指定格式读取并存储
请问如何只用一个scanf()读入“babylong5John”这样格式字符串,并存储为“babylong5”呢?
程序代码:int main(void)
{
char string[50] = {0} ;
scanf("%s[1234567890^a-z]", string);
printf("\n%s ",string);
}只读取前一个字符串和相邻的数字,忽略后面字符串。
请问
1,请问 ^ 的作用理解错了么,实际运行输出为babylong5John,没有忽略John
2,测试时发现里一个有趣的现象请问是为什么?
当char string = 0;scanf() 使用%s 不能存储输入的数字 程序不输出,return 负值。
但改成数组 就能正确输出。
程序代码:#include <stdio.h>
int main(void)
{
/*char string = 0; 这个输入数字不行*/
char string[1] = {0} ;
scanf("%s", string);
printf("\n%s ",string);
}结果发现只是缺少 & .....







