首页 > 电脑

c语言怎么用for循环给数组元素赋值,直到输入“#”停止?

更新时间2019-11-01 20:33:09

#include<stdio.h>

int main()

{


    int i;

    char a[100]={0};

    printf("输入数据,当输入#时结束");

    i=0;

    do{

    printf(" 第%d个数",i+1);

    scanf("%d",&a[i]);

    i++;

    }

    while(a[i]!='#');

    return 0;

}

为啥不行呢?


这个是你基本概念的问题了,%d输入只能用于整形,也就是输入只能是数字及头上的+/-,输入其它字符直接会出错的,你可以对char 赋整形的值,它范围只能是-128~+127

你用%d输入,那么  while(a[i]!='#');中,有两个问题

1。你的i已加1,那么实际要判while(a[i-1]!='#');

2。你的a[i].只有当输入35时(#的ASCII码)你的程序才会结束


相关标签:c语言

上一篇:PTA运行错误及G++与clang++区别

下一篇:i73770装win10的系统会有什么影响吗?现在是win7