C语言如何从字符串中读入字符

2025-04-08 10:03:04
推荐回答(3个)
回答1:

在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字符串。

  其实scanf函数也可完成这样的功能,而且还更强大。这里主要介绍一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是"^",这说明读取不在"^"后面集合的字符,既遇到"^"后面集合的字符便停止。注意此时读入的字符串是可以含有空格的,而且会把开头的空格也读进来。

回答2:

你代码错误的原因是你没有分清局部变量和全局变量。
在函数delchar()中定义的char
t[80],只在该函数中期作用,该函数结束时变量就消失了。其他的函数是不能用的。
你在主函数中定义了char
t[80],可是没有用上,因此t的值为空。
修改的方法是,把主函数中的t传过去,在子函数中就不用定义了t。
#include

#include

void
delchar(char
s[80],char
t[80],
char
c)
{
int
i,j=0,n;
n=strlen(s);
for(i=0;
i

评论
0

0

加载更多

回答3:

scanf("%2x",&a[0]);
可以
按两位宽度读取
printf("%d",a[0]);以十进制找印出来