飞花落尽 发表于 2021-11-7 15:50:52

输入字符串问题

#include <stdio.h>
#define MAX 1024
int main(void)
{
        char str;
        int i = 0;
       
        printf("请输入一个英文句子:");
       
        while((str = getchar()) != '\n')
                ;
        printf("%d",i);
这段语句,假如我输入2个英文字母,那么第三个字母应该是换行符,那么i为什么等于3,第4个字符又是什么?

jhq999 发表于 2021-11-7 15:50:53

本帖最后由 jhq999 于 2021-11-7 15:57 编辑

str='a'i++=>i=1
str='b'i++=>i=2
str='\n' i++=>i=3

飞花落尽 发表于 2021-11-7 15:57:56

本帖最后由 飞花落尽 于 2021-11-7 15:59 编辑

jhq999 发表于 2021-11-7 15:56
str i++=>1
str i++=>2
str i++=>3

哦,懂了

jhq999 发表于 2021-11-7 16:00:36

飞花落尽 发表于 2021-11-7 15:57
那i = 3时不是没有getchar了吗?

跟有没有都没关系
i=0;
while(i++<3);//循环完后i=4;
页: [1]
查看完整版本: 输入字符串问题