问题:c语言简单的循环和字符串,错在哪里了?结果怎么是0(已解决)
函数功能:统计字符串中空格的个数.
#include <stdio.h>
#include <string.h>
int count_spaces(char *p,int n)
{
int i = 0;
int count = 0;
while((*p != '\0') && ((*p == ' ')?(++ count):(count))){if(*p == ' ')printf("yes");printf("%d 's value is:%c",i,*p);++ p;}
return count;}
#define LEN 100
int main()
{
char p[LEN + 1] = "ad sd sdfa sa ";
int n = count_spaces(p,sizeof(p) / sizeof(p[0]));
printf("%d\n",n);return 0;
}
上述错误在于:当while的条件为假一次,那么while就彻底停止了,也就是当条件表达式的返回值为假一次,那么while将会停止。鬼知道条件表达式返回个什么东西。
更改后:
#include <stdio.h>
#include <string.h>
int count_spaces(char *p,int n)
{
int count = 0;while(*p != '\0'){if(*p == ' ') ++ count;++ p;}
return count;}
#define LEN 100
int main()
{
char p[LEN + 1] = "ad sd sdfa sa ";
int n = count_spaces(p,sizeof(p) / sizeof(p[0]));
printf("%d\n",n);return 0;
}
~
运行结果:5
方法2:
#include <stdio.h>
#include <string.h>
int count_spaces(char *p,int n)
{
int count = 0,i = 0;while(p[i] != '\0'){if(p[i] == ' ') ++ count;++ i;}
return count;}
#define LEN 100
int main()
{
char p[LEN + 1] = "ad sd sdfa sa ";
int n = count_spaces(p,sizeof(p) / sizeof(p[0]));
printf("%d\n",n);return 0;
}
~
运行结果:5
方法3:
#include <stdio.h>
#include <string.h>
int count_spaces(char *p,int n)
{
int count = 0;while(*p){ if(*p == ' ') count ++;++p;}
return count;}
#define LEN 100
int main()
{
char p[LEN + 1] = "ad sd sdfa sa ";
int n = count_spaces(p,sizeof(p) / sizeof(p[0]));
printf("%d\n",n);return 0;
}
~
运行结果:5
问题:c语言简单的循环和字符串,错在哪里了?结果怎么是0(已解决)相关推荐
- c语言如何用循环输入字符串,C语言使用scanf连续输入字符串出现的问题
#include int main() { char a,b; scanf("%c",&a): scanf("%c",&b); printf(& ...
- r语言for循环的c(),R语言简单for循环(二)
创建一个简单数据框 Sys.setlocale('LC_ALL','C') ## [1] "C" library(tidyverse) ## -- Attaching packag ...
- c 语言简单字符加密,C字符串简易加密解密算法
一. 问题描述 对一个指定的字符串进行加密之后,利用解密函数能后对密文解密显示明文信息,这里定义加密的规则:是将字符串中每个字符加上它在字符串中的位置和一个偏移值.例如:将字符串"mrsof ...
- R语言 读取csv文件 有关无法打开表格以及表格位置不对问题【已解决】
因为概率模型课程,刚开始用到R语言,遇到些问题,现已解决 问题1: R语言读取并导入csv文件时打不出表格 解决: 首先用getwd()获取R当前所在的工作目录,将csv文件与R的code文件放在同 ...
- Gox语言中的循环与分支-GX14
Gox语言中实现的循环与分支都是比较简单,也比较好理解的.唯一需要注意的是else if需要写作"elif",其他的基本与Go语言类似. 下面引自Qlang的Github页面, f ...
- c语言二重循环的盒图怎么画,全国计算机二级C语言程序设计讲义 循环嵌套.ppt...
全国计算机二级C语言程序设计讲义 循环嵌套 第7讲 循环的嵌套 一.continue 语句和 break 语句 1.continue语句 2.break语句 二.循环的嵌套 三.goto语句 葛挑破隶 ...
- win10 一直循环重启, 页面 “scanning and repairing (C): ”...(已解决!)
win10 一直循环重启, 页面 "scanning and repairing (C): " ... (已解决!) 记录 解决 重点 原因 记录 烦~~~~今天电脑一直出现问题, ...
- python的for语句写新的字符串_python写for循环python字符串排序方法
一般情况下,python中对一个字符串排序相当麻烦: 一.python中的字符串类型是不允许直接改变元素的.必须先把要排序的字符串放在容器里,如list. 二.python中的list容器的sort( ...
- c语言表示测试结束,C语言简单测试题
<C语言简单测试题>由会员分享,可在线阅读,更多相关<C语言简单测试题(12页珍藏版)>请在人人文库网上搜索. 1.1)C语言中下列叙述正确的是________.A)不能使用d ...
最新文章
- 二分搜索 2015百度之星初赛1 HDOJ 5248 序列变换
- java选择排序百度_java选择排序
- 配置 --- vscode自定义代码段Snippets
- iOS UILabel字体设置
- 阿里矢量图标库项目添加合作者
- 2015火车票抢票,放票时间,几点放票
- BZOJ2038: [2009国家集训队]小Z的袜子(hose) 莫队算法 莫队算法讲解及时间复杂度证明
- 用JavaScript实现元素自动旋转功能
- Android 实现图文混排
- Python学习笔记(5)
- 如何理解Ture Time
- BaaS_后端即服务 RESTful
- 姓名拼音首字母缩写_企业开发人员,首字母缩写词和歧视
- 柱状图标签在柱的上方怎么进行展示
- (非常重要).Net Core应用框架Util介绍(学习Util)
- QGIS-创建QGIS项目
- 个人深度学习工作站配置
- 应聘上海辉颐系统集成量化研究员需要什么条件?
- MATLAB在线编辑网站及使用教程
- python中的 pip 和 requirements.txt 是干什么的