永发信息网

C语言中怎么查找字符串数组中的某个字符?

答案:2  悬赏:80  手机版
解决时间 2021-05-14 21:03

我编了个程序,想查找一个字符串数组中是否含有某个字符。程序如下

#include <stdio.h>
#include <string.h>
void main()
{
 
 char sh[20];
 gets(sh);
 for(int i=0;i<20;i++)
 { 
  if(sh[i]!='@')
  {
   printf("没有字符 @\n");
   break;
  }
  else
  {
   printf("有字符 @\n");
   break;
  }
 }

}

但只有@单个字符输入的时候才说有,swed@sd or @sasdd or dsds@ 都查找不出来,请问是什么原因?

最佳答案
#include <stdio.h>
#include <string.h>
void main()
{
 
 char sh[20];
 int i;
 gets(sh);
 for( i=0;i<20;i++)
  if(sh[i]!='@')
   printf("没有字符 @\n");
   else
    printf("有字符 @\n");
}
//你用break,第一只就break循环了
全部回答

错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了。改成下面就行了:

#include <stdio.h> #include <string.h> 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"); }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁知道..给我一次疼你的机会地址 .要求是mp3
觉得该怎么样做???
3230是刷机要多少钱
bt真三专署奥运ai版
小学六年级数学题,求讲解!详细才能被采纳!
新宁县一渡水综合市场这个地址怎么能查询到,
祝福新人结婚的话五六十字
20元财付通新人红包怎么用啊
寻一些经典的特工类小说
手机游戏怎么下载ne?
100美元=多少英镑
江苏镇江索爱W595报价多少?
平常的平的反义词是什么
我这个兽态犀牛改怎么样练?练功的可以么?
索愛w595價格在500以下嗎
推荐资讯
平江县天堂伞(平江总经销)在哪里啊,我有事要
禹州市多味草莓园我想知道这个在什么地方
求这首歌的歌名!http://121.14.79.202/5467.
为什么我的PSP上的真三国无双5的金手指用不了
孩子速度太慢怎么办,孩子写字慢,注意力不集
2009第3-4季度GDP增长是多少?
NDS牧场物语双子村汉化版大概什么时候出
《呼兰河传》优美段落 赏析10句 100分
三国杀标准版送的代码能换到网游三国杀的什么
急速引起的饰品问题
跪求一封保证书急~
安全用电的节约标语,形容节俭的句子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?