scanf("%s %s",a,b);a,b都是数组名,在c语言中能用改函数分别输入字符串到数组里吗
时间: 2024-12-19 19:23:48 浏览: 8
用格式符“%s”输入输出字符串时-c语言编程学习
在 C 语言中,`scanf` 函数可以用来从标准输入流读取数据,并将其存储到指定的位置。当你使用 `scanf("%s %s", a, b)` 这样的格式说明符时,`%s` 表示字符串,所以它会读取直到遇到空格、换行符或其他分隔符为止的字符,并将其存储到数组中。
数组名实际上代表的是数组的第一个元素的地址,因此这里的 `a` 和 `b` 都是指向字符数组第一个位置的指针。这个函数会在每个数组上读入一个字符串,直到遇到空格分隔的第二个字符串。
例如:
```c
char a[20], b[20];
printf("请输入两个字符串:");
scanf("%s %s", a, b);
```
用户输入 "Hello World" 和 "C Programming" 后,`a` 将保存 "Hello World",而 `b` 将保存 "C Programming"。
但是需要注意的是,如果用户输入的字符串长度超过了数组的大小,可能会导致缓冲区溢出的问题。此外,`scanf` 依赖于用户提供的分隔符,如果用户没有提供空格或按回车键,那么结果可能不符合预期。所以在实际使用中,应考虑添加额外的检查以保证数据的安全性。
阅读全文