c语言怎么输入字符串?
在C语言中,可以使用标准库函数`scanf()`或`fgets()`来实现输入字符串。
1. 使用`scanf()`输入字符串
`scanf()`函数可以通过`%s`格式化字符来输入字符串,但是这种方式存在一定的安全风险,因为它会读取输入字符串中的空格,并且不会检查输入字符串的长度。因此,在使用`scanf()`函数时应该注意输入字符串的长度。
示例代码:
“`
char str[100];
scanf(“%s”, str); // 输入’hello world’
printf(“输入的字符串为:%sn”, str); // 输出’hello’
“`
在上述代码中,由于`scanf()`函数会读取输入字符串中的空格并且不会检查输入字符串的长度,因此只输出了’hello’这个单词,’world’被省略了。
2. 使用`fgets()`输入字符串
`fgets()`函数可以读取一行字符串,并且可以指定最大读取的字符数,因此在使用`fgets()`函数时可以更加安全可靠。
示例代码:
“`
char str[100];
fgets(str, 100, stdin); // 输入’hello world’
printf(“输入的字符串为:%sn”, str); // 输出’hello world’
“`
在上述代码中,`fgets()`函数将输入的整行字符串全部读入,并且存储在`str`字符数组中。`stdin`参数表示从标准输入设备(键盘)读取输入数据。
需要注意的是,`fgets()`函数在读取完一行字符串后会自动在字符串末尾加上一个`n`字符,如果不需要可以手动将其删除。
示例代码:
“`
char str[100];
fgets(str, 100, stdin); // 输入’hello world’
int len = strlen(str);
if(len > 0 && str[len-1] == ‘n’) {
str[len-1] = ‘