|  | 
 
| 
关于C语言数组用getchar输入,再用循环输出的问题
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  #include<stdio.h>
 
 int main()
 {
 char a[5][100];
 int time = 0;
 
 printf("请输入一个英语句子:");//这是一个输入一个句子,再输出的程序
 while(1)
 {
 int i = 0;
 
 if((a[0][i]= getchar()) == '\n')
 {
 a[0][100] = i ;//得到字符的个数
 a[0][i+1] = '\0';
 break;//当读取到'\n'时跳出循环
 }
 i++;
 }
 
 for(int i = 0;i <= a[0][100] + 1;i++)
 {
 printf("%c",a[0][i]);
 }
 return 0;
 }
 由我的思路怎么以最小的改动修改,我这错在哪
 谢谢各位!!
 
 本帖最后由 LuLD 于 2020-10-24 09:38 编辑 
while 循环里 的  i 初始化 放在 while循环的 前边
 复制代码#include<stdio.h>
int main()
{
    char a[5][100];
    int time = 0;
    printf("请输入一个英语句子:");//这是一个输入一个句子,再输出的程序
    int i = 0;//------<<<
    while (1)
    {
        //int i = 0;//把 i 的初始化 放在 while 循环前边
        if ((a[0][i] = getchar()) == '\n')
        {
            a[0][100] = i;//得到字符的个数
            a[0][i + 1] = '\0';
            break;//当读取到'\n'时跳出循环
        }
        i++;
    }
    for (int i = 0; i <= a[0][100] + 1; i++)
    {
        printf("%c", a[0][i]);
    }
    return 0;
}
 | 
 |