scanf中string用什么录入
时间: 2023-05-25 22:02:29 浏览: 88
在C语言中,可以使用%s格式控制符来读取字符串。例如:
```
char str[100];
scanf("%s", str);
```
这将从标准输入中读取一个字符串,并将其存储在名为str的字符数组中。注意,写入字符串时不需要使用&符号,因为字符串本身已经是一个地址。
相关问题
C语言中scanf怎么录入字符串
在C语言中,`scanf`函数用于从标准输入读取数据,并存储到指定的位置。当你想录入字符串时,可以使用`scanf`配合数组或动态内存分配的字符数组。这里有一个基本的例子:
```c
#include <stdio.h>
#include <string.h> // 需要包含这个头文件,因为strlen函数在此定义
#define MAX_STR_LEN 50 // 定义最大字符串长度
int main() {
char str[MAX_STR_LEN]; // 定义一个足够大的字符数组来存放字符串
printf("请输入一个字符串: ");
scanf("%s", str); // 使用"%s"作为格式说明符告诉scanf只读取字符串
// 检查是否成功读取并防止缓冲区溢出
if (str[ strlen(str) - 1 ] == '\n') { // 如果结尾是换行符,说明读取正常结束
str[strlen(str)] = '\0'; // 在换行符处添加'\0'终止字符串
} else {
printf("错误:未读取完整字符串。\n");
}
printf("你输入的字符串是: %s\n", str);
return 0;
}
```
给定程序中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。 例如:当s中的字符串为:"ABCDE"时,则t中的字符串应为:"ABCDEEDCBA"。 注意:部分源程序如下。 #include <stdio.h> #include <stdlib.h> void fun (char *s, char *t) { } main() { char s[100], t[100]; printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 要求: 将上述程序录入到文件myf144.c中,请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
void fun (char *s, char *t) {
int len = strlen(s);
int i, j;
// 将s中的字符按正序存放到t串中
for (i = 0; i < len; i++) {
t[i] = s[i];
}
// 将s中的字符按逆序连接到t串的后面
for (j = len - 1; j >= 0; j--) {
t[i++] = s[j];
}
t[i] = '\0'; // 添加字符串结束符
}
阅读全文