C语言基础问题紧急求救

来源:百度知道 编辑:UC知道 时间:2024/05/11 14:44:45
问 题 是 这 样 的
输 入 一 串 字 符 , 打 印 出 其 中 的 空 字 符 数
代 码 如 下
#include"stdio.h"
main()
{ char str[80];int i,num=0;
gets(str);
for(i=0;str[i]!='\0';i++)
if (str[i]=='' )num++;
printf("%d",num);}
问 题 是 在 我 输 一 些 字 符 时
其 中 有 几 空 字 符
但 num 的 值 却 等 于 0
想 来 想 去 却 想 不 通
可 能 TC 系 统 区 分 不 清 空 字 符 和 字 符 串 结 束标 志 '=\0'
请 问 我 怎 样 解 决 这 个 问 题 呢
解 决 可 以 加 分 的

if (str[i]=='' )num++; 这句错了,你在单引号里面敲一个空格,就对了.空字符也占一个字节.

#include"stdio.h"
main()
{ char str[80];int i,num=0;
gets(str);
for(i=0;str[i]!='\0';i++)
if (str[i]=='' )num++; //if (str[i]==' ')是不是在此处出现了错误???
printf("%d",num);}

if (str[i]=='' )num++;
改成if (str[i]==' ')num++;
这样试试!