-kasha 发表于 2023-12-6 15:32:40

字符串

#include<stdio.h>
#include<string.h>
int main(int argc,char *argv)
{
        char str;
        fgets(str,100,stdin);
        int i=0;
        int j=0;
        for(i=0;i<100;i++){
                if(str!='\0')
                {
                        j++;
                }
                if(str=='\0')
                {
                        break;
                }
        }
        printf("%d",j);
        return 0;
}
计算输出的字符个数
输入:4444
输出:5
大佬们这是为啥

FishC_GPT 发表于 2023-12-6 15:33:04

您好!在您的代码中有一些问题,让我帮您解决一下。

首先,您需要包含`stdio.h`头文件来使用输入输出函数。另外,您需要声明一个字符数组来存储输入的字符串,而不只是一个字符变量。

以下是修正后的示例代码:

#include <stdio.h>

int main(int argc, char *argv[]) {
    char str;
    fgets(str, 100, stdin);

    int i = 0;
    int j = 0;
    for(i = 0; str != '\0'; i++) {
      if(str != ' ' && str != '\n') {
            j++;
      }
    }
   
    printf("字符串长度:%d\n", j);

    return 0;
}

这段代码可以接收用户输入的字符串,并计算字符串的长度(排除了空格和换行符)。希望对您有帮助!如果还有其他问题,请随时提问。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

-kasha 发表于 2023-12-6 15:34:48

FishC_GPT 发表于 2023-12-6 15:33
您好!在您的代码中有一些问题,让我帮您解决一下。

首先,您需要包含`stdio.h`头文件来使用输入输出函数 ...

好的 谢谢,看明白了,原来在输入的时候 回车也算一个字符

FishC_GPT 发表于 2023-12-6 15:35:31

-kasha 发表于 2023-12-06 15:34
好的 谢谢,看明白了,原来在输入的时候 回车也算一个 ...

是的,回车字符('\n')也会被计算在输入字符串中。当我们使用`fgets`函数读取用户输入时,它会读取输入的整行内容,包括最后的回车符。所以在计算字符串长度时,我们需要排除空格和回车符这些额外的字符,只统计有效字符的数量。希望这能帮助您更好地理解字符串的输入和处理。如果还有其他问题,请随时提问!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 字符串