在C语言中,可以通过使用scanf
函数来从标准输入中读取字符串并赋值给指定的变量。
例如,如果要从标准输入中读取一个字符串并赋值给str
变量,可以使用以下代码:
char str[100]; // 声明一个字符串变量
printf("请输入一个字符串: ");
scanf("%s", str); // 读取字符串并赋值给str变量
printf("输入的字符串是: %s\n", str); // 打印输入的字符串
上述代码首先声明了一个名为str
的字符数组,用于存储输入的字符串。然后使用scanf("%s", str)
从标准输入读取字符串,并将其赋值给str
变量。注意,%s
是用于读取字符串的格式化字符串。
需要注意的是,scanf
函数默认以空格、制表符或换行符作为输入的分隔符,因此如果输入的字符串中包含空格,则只会读取空格之前的部分作为字符串值。如果希望读取包含空格的完整字符串,可以使用fgets
函数进行读取。
在使用scanf
函数读取字符串时,应该避免缓冲区溢出的问题,可以通过限制读取的字符数来避免,例如可以使用%99s
来限制最大读取的字符数为99个字符。这样可以确保输入的字符串不会超过目标变量的大小。