gpt4 book ai didi

C- While 循环不工作

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:14 28 4
gpt4 key购买 nike

#include <stdio.h>
#include <string.h>

int main(void)
{
char str1[1000];
int i, letter, space = 0;
char ch = str1[i];

printf("Enter a sentence: ");
scanf("%[^\n]s", str1);
printf("you enter %s\n", str1);

while (i != strlen(str1)) {
if (ch != ' ') {
letter++;
} else if (ch = ' ') {
space++;
}
i++;
}
printf("%d %d", letter, space);
}

我的 while 循环不工作,我似乎找不到问题所在。我在 ubuntu 中使用终端,在打印用户字符串后,我得到一个空行。我必须使用 Ctrl-Z 来停止脚本。

最佳答案

我看到的错误:使用未初始化的变量 - 局部变量不会自动初始化。

另一个是您没有从循环中的字符串中读取字符。

第三个是不必要且语法错误的 if (ch=' ') 应该是 if (ch==' ')

#include<stdio.h>
#include<string.h>

int main(void){
char str1[1000];
int i = 0, letter = 0, space = 0; // initialise all to 0;

printf("Enter a sentence: ");
scanf("%[^\n]s",str1);
printf("you enter %s\n",str1);

while (i!=strlen(str1)){
char ch = str1[i]; // move this inside the loop
if (ch!= ' '){
letter++;
}else { // unnecessary - you already checked space
space++;
}
i++;
}
printf("%d %d\n", letter, space);
}

程序 session :

Enter a sentence: hallo my friend
you enter hallo my friend
13 2

关于C- While 循环不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40291369/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com