函数功能:统计字符串中空格的个数.

#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(已解决)相关推荐

  1. c语言如何用循环输入字符串,C语言使用scanf连续输入字符串出现的问题

    #include int main() { char a,b; scanf("%c",&a): scanf("%c",&b); printf(& ...

  2. r语言for循环的c(),R语言简单for循环(二)

    创建一个简单数据框 Sys.setlocale('LC_ALL','C') ## [1] "C" library(tidyverse) ## -- Attaching packag ...

  3. c 语言简单字符加密,C字符串简易加密解密算法

    一. 问题描述 对一个指定的字符串进行加密之后,利用解密函数能后对密文解密显示明文信息,这里定义加密的规则:是将字符串中每个字符加上它在字符串中的位置和一个偏移值.例如:将字符串"mrsof ...

  4. R语言 读取csv文件 有关无法打开表格以及表格位置不对问题【已解决】

    因为概率模型课程,刚开始用到R语言,遇到些问题,现已解决 问题1:  R语言读取并导入csv文件时打不出表格 解决: 首先用getwd()获取R当前所在的工作目录,将csv文件与R的code文件放在同 ...

  5. Gox语言中的循环与分支-GX14

    Gox语言中实现的循环与分支都是比较简单,也比较好理解的.唯一需要注意的是else if需要写作"elif",其他的基本与Go语言类似. 下面引自Qlang的Github页面, f ...

  6. c语言二重循环的盒图怎么画,全国计算机二级C语言程序设计讲义 循环嵌套.ppt...

    全国计算机二级C语言程序设计讲义 循环嵌套 第7讲 循环的嵌套 一.continue 语句和 break 语句 1.continue语句 2.break语句 二.循环的嵌套 三.goto语句 葛挑破隶 ...

  7. win10 一直循环重启, 页面 “scanning and repairing (C): ”...(已解决!)

    win10 一直循环重启, 页面 "scanning and repairing (C): " ... (已解决!) 记录 解决 重点 原因 记录 烦~~~~今天电脑一直出现问题, ...

  8. python的for语句写新的字符串_python写for循环python字符串排序方法

    一般情况下,python中对一个字符串排序相当麻烦: 一.python中的字符串类型是不允许直接改变元素的.必须先把要排序的字符串放在容器里,如list. 二.python中的list容器的sort( ...

  9. c语言表示测试结束,C语言简单测试题

    <C语言简单测试题>由会员分享,可在线阅读,更多相关<C语言简单测试题(12页珍藏版)>请在人人文库网上搜索. 1.1)C语言中下列叙述正确的是________.A)不能使用d ...

最新文章

  1. 二分搜索 2015百度之星初赛1 HDOJ 5248 序列变换
  2. java选择排序百度_java选择排序
  3. 配置 --- vscode自定义代码段Snippets
  4. iOS UILabel字体设置
  5. 阿里矢量图标库项目添加合作者
  6. 2015火车票抢票,放票时间,几点放票
  7. BZOJ2038: [2009国家集训队]小Z的袜子(hose) 莫队算法 莫队算法讲解及时间复杂度证明
  8. 用JavaScript实现元素自动旋转功能
  9. Android 实现图文混排
  10. Python学习笔记(5)
  11. 如何理解Ture Time
  12. BaaS_后端即服务 RESTful
  13. 姓名拼音首字母缩写_企业开发人员,首字母缩写词和歧视
  14. 柱状图标签在柱的上方怎么进行展示
  15. (非常重要).Net Core应用框架Util介绍(学习Util)
  16. QGIS-创建QGIS项目
  17. 个人深度学习工作站配置
  18. 应聘上海辉颐系统集成量化研究员需要什么条件?
  19. MATLAB在线编辑网站及使用教程
  20. python中的 pip 和 requirements.txt 是干什么的

热门文章

  1. 主从复制1062错误的解决方法
  2. 用程序算法做人生选择
  3. 骗子是这样把1G硬盘变成120G的
  4. 网络安全-windowserver搭建DHCP服务器
  5. PHP-代码审计-代码执行
  6. 【数据结构与算法】之深入解析“课程表II”的求解思路与算法示例
  7. LeetCode Algorithm 129. 求根节点到叶节点数字之和
  8. 2 0 2 0 年 第 十 一 届 蓝 桥 杯 - 省赛 - CC++大学C组 - A.约数个数
  9. 【机器视觉】 assign_at算子
  10. 【工业控制】PolyWorks 2020基础教程