【发布时间】:2020-09-14 21:50:14
【问题描述】:
到目前为止,在我的 C 代码中,它计算用户给定字符串中的所有内容,但是,我只希望它计算字母。
每当我尝试取出或更改空格计数器时,我的代码最终都会中断并迫使我手动停止它。
我想稍后使用空格作为计数单词的方法,但我宁愿尝试先完成字母。
我所说的中断的意思是代码将继续无限地不做任何事情。我发现这一点时,我没有放下东西,而是把它打印出来,它不断重复给出的内容,没有停止。
#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
string s = get_string("Text: ");
int n = 0;
while (s[n] != '\0')
{
if (isalpha(s[n])) //counts letters
{
n++;
}
else
{
}
}
我想尝试保持代码相似,但如果更简单,则采用不同的方式。
我还想把它保存在能够处理用户给出的字符串的地方。
【问题讨论】:
-
这两种情况都需要增加
n,但要保留一个额外的变量来计算字母的数量。 -
你需要一个变量来迭代字符串,而其他要计数,你不能像那样混合它们
标签: c infinite-loop counting cs50