日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

问题:c语言简单的循环和字符串,错在哪里了?结果怎么是0(已解决)

發布時間:2024/4/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 问题: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(已解决)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。