输入一行字符串,统计该字符串中字符对“ab”的个数。

#include<stdio.h>
void main()
{int i,m=0;
char g[100];
printf("Please input a string:\n");
scanf("%s",g[100]);
for(i=0;i<100;i++)
{if(g[i]=='a'&&g[i++]=='b')
m++;
}
printf("字符串%s中有ab字符的个数为:%d",g[100],m);
}
为什么我的程序执行不了呢?是哪里错了啊?谁可以帮我看看……谢谢
最新回答
年華不似水

2024-10-02 00:10:48

#include<

stdio.h
>

void main()

{int i,m=0;

char g[100];

printf("Please input a string:\n");

scanf("%s",g); //改为g

for(i=0;i<100;i++)

{if(g[i]=='a'&&g[i+1]=='b') //改为i+1

m++;

}

printf("

字符串
%s中有ab字符的个数为:%d",g,m); //改为g

}

函数应用:

1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’;

2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’

3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’;delete(s,2,3);结果s:=’ae’

以上内容参考:

百度百科-字符串

余盼兮

2024-10-02 00:20:27

#include<stdio.h>
void main()
{int i,m=0;
char g[100];
printf("Please input a string:\n");
scanf("%s",g); //改为g
for(i=0;i<100;i++)
{if(g[i]=='a'&&g[i+1]=='b') //改为i+1
m++;
}
printf("字符串%s中有ab字符的个数为:%d",g,m); //改为g
}
人命薄

2024-10-02 00:01:36

scanf("%s",g[100]);//字符串输入要用首地址scanf("%s",g);
离鸿

2024-10-02 00:30:38

scanf("%s",g);
scanf后面的是变量的地址
而数组名就是数组中第一个元素的地址
安静的河

2024-10-02 00:54:34

scanf("%s",g[100]);
---scanf("%s",g);

for(i=0;i<100;i++)
{if(g[i]=='a'&&g[i++]=='b')
m++;
}
----- for(i=0;i<100;i++)
{if(g[i]=='a'&&g[++i]=='b')
m++;
--i;
}
试试