c语言中怎么输出字符串中的某个字符

 我来答
创作者AoaMHpDQWW
2019-03-22 · TA获得超过3935个赞
知道大有可为答主
回答量:3152
采纳率:25%
帮助的人:252万
展开全部
c语言来中的字符串实际上是字符数组,如果想输出某位上的字符,可采用数组元素输出方式进行输源出,百如:
char
s[]="abcde";
printf("%c",
s[3]
);
//输出第四个字符度'd',%c表示输出单个字符
还可以采用指针方式输出相应位的字问符,如:
char
*p=s
;
//字符字符指针p,指向字符串首地址
printf("%c",
*(p+3)
);
//输出第四个字符'd'

p+=3;
//先移动指针到第四个字符位置
printf("%c",
*p
);
//输出当前字答符'd'
创作者xJLK4hUfm6
2020-01-14 · TA获得超过3512个赞
知道大有可为答主
回答量:3057
采纳率:28%
帮助的人:458万
展开全部
错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了。改成下面就行了:
#include
#include
int
main()
{
char
sh[100],n=0;
gets(sh);
for(int
i=0;sh[i];i
)
if(sh[i]=='@')
n
;
if(n==0)
printf("没有字符
@\n");
else
printf("有字符
@\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者cMk3eITsNn
2019-03-22 · TA获得超过3853个赞
知道大有可为答主
回答量:3135
采纳率:26%
帮助的人:196万
展开全部
你的程序是对的。
你说的是“输入一个字符,想得到第二个字符”表述错了,你只输入了一个字符,怎么会有第二个字符呢?
若输入"abc",那么printf("%c",s[1]);,会得到第二个字符。
以上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者hwQv55Ydim
2019-04-10 · TA获得超过3640个赞
知道大有可为答主
回答量:3092
采纳率:31%
帮助的人:170万
展开全部
第二个字符应该是s[1]
第一个字符是s[0]
printf
("%c\n",
s[1]);
这里输出最好加\n换行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者O9KKPMRVhb
2019-03-17 · TA获得超过3627个赞
知道大有可为答主
回答量:3085
采纳率:34%
帮助的人:174万
展开全部
这样是可以的
前提是你输入的要大于4个字符
你这里的问题是括号是中文的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式