求大神帮忙看一下c语言字符题目~~

从键盘上输入一个满足格式(形如“ A1,234 ” )要求的字符串(其长度不超过20),编程将其从分割符(“,”)位置分割成两个部分(如 A1 和 234 两个字符串),并在屏幕上分两行顺序显示分割后的结果(输入输出格式示例如下)。

输入: A 1, 234

输出 1 : A1

输出 2 : 234

方法1:不真正分隔,只是寻找分隔标志(逗号),然后用'\n'替代实现分两行输出。

方法2:真正以逗号作为分隔符,将字符串分成两个子串。

 #include<stdio.h>   
int main()   
{   
char c[100],a=0,b=0,d=0,i=0;   
gets(c);   
while(c[i]!=',');   
{printf("%c",c[i]);   
i++;}   
printf('\n');   
i++;   
while(c[i]!='\0')   
{printf("%c",c[i]);   
i++;   
}   
printf('\n');   
}  

我写的代码输出不了结果 请问为啥

 #include <stdio.h>
int main()   
{   
    char c[100],a=0,b=0,d=0,i=0;   
    gets(c);   
    while(c[i]!=',') //这有问题
    {
        printf("%c",c[i]);   
        i++;
    }   
    printf("\n");   //这有问题
    i++;   
    while(c[i]!='\0')   
    {
        printf("%c",c[i]);   
        i++;   
    }   
    printf("\n");   //这有问题
}  

可以试着用 scanf 代替 gets 试试看

题主,请看您代码的最后一句【printf('\n');】,这一句很明显是个错误,因为里面的【'\n'】表示一个字符,而printf函数的第一个参数必须是字符串形式!
所以最后一句代码应该改成【printf("\n");】,因为双引号里面的内容才代表一个字符串

还有,中间的那行也是【printf('\n');】同样的错误,两个都改过来就可以运行了

#include

int main()

{

char c[100],a=0,b=0,d=0,i=0;

gets(c);

while(c[i]!=','); //去掉;
{printf("%c",c[i]);

i++;}

printf('\n'); //“\n”
i++;

while(c[i]!='\0') //"\n"
{printf("%c",c[i]);

i++;

}

printf('\n');

//加上 return 0;
}

  #include<stdio.h>   
int main()   
{   
char c[100],a=0,b=0,d=0,i=0;   
gets(c);   
while(c[i]!=',');   //去掉;
{printf("%c",c[i]);   
i++;}   
printf('\n');    //“\n”
i++;   
while(c[i]!='\0')   
{printf("%c",c[i]);   
i++;   
}   
printf('\n');    //“\n”

//加上 return 0;
}  

我想知道你用的是什么编译器,gets()函数在ISO/IEC 9899 2011(C11)标准中被移除

int main()
{
    char c[100], a = 0, b = 0, d = 0, i = 0;
    while ((c[i] = getchar()) != '#')
    {
        i++;
    }
    i = 0;
    while (c[i] != ',')
    {
        printf("%c", c[i]);
        i++;
    }
    printf("\n");
    i++;
    while (c[i] != '#')
    {
        printf("%c", c[i]);
        i++;
    }
    printf("\n");
    return 0;
} 

仅作参考

while多了一个分号啊,成了死循环

while(c[i]!=',');
i=0,c[0]!=','为真,因此执行while,而没有循环体,所以继续下次检测c[0]!=',',为真,以此重复