#include<stdio.h>
#include<string.h>
int panduan(char *str ,char x);
void main()
{
char zimu[100];
char zi;
printf("请输入字母");
gets(zimu);
gets(zi);
panduan(zimu , zi);
printf("次数 = %d", panduan(zimu , zi));
}
int panduan(char *str , char x)
{
int i , leng , cishu = 0;
leng = strlen(str);
for( i = 0 ; i < leng - 1
; i++)
{
if(str[i] != x )
{
}
else
cishu++;
}
return cishu;
}
//目的是输入一串字母,再输入一个字母判断这个字母在这串字符中出现的次数
大佬 为什么老是0次数啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- benbenli 2021-05-13 23:04关注
#include<stdio.h> #include<string.h> int panduan(char *str ,char x); void main() { char zimu[100]; char zi; printf("请输入一行字符串:"); gets(zimu); printf("请输入一个字符:"); zi = getchar(); panduan(zimu , zi); printf("次数 = %d", panduan(zimu , zi)); } int panduan(char *str , char x) { int i , leng , cishu = 0; leng = strlen(str); for( i = 0 ; i < leng - 1 ; i++) { if(str[i] != x ) { } else cishu++; } return cishu; } //目的是输入一串字母,再输入一个字母判断这个字母在这串字符中出现的次数 // Output 请输入一行字符串:ASDFGABCDEFQAZAAABBBCCCDDDAA 请输入一个字符:A 次数 = 7
主要是zi是定义喂一个字符,gets(zi)造成越界,后果不课预计。应该定义为u字符数组或者用getchar()函数只读一个字符。你看我修改后的代码运行通过了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法