lzm1 发表于 2014-11-16 13:14:53

请大神帮忙看看那错了

本帖最后由 lzm1 于 2014-11-16 13:16 编辑

#include<stdio.h>
main()
{
      char c1,c2,i=-1;
      printf("请输入一个字符;");
      puts(c1);
      while(c1[++i]='\0')
                c2=c1;
                c2='\0';
                printf("复制后的字符窜为;%c\n",c2);
}


小人 发表于 2014-11-16 13:57:23

while(c1[++i]='\0')while是等于TRUE是循环   你这么写是= 是赋值; 比较是==
你思路上有问题

lzm1 发表于 2014-11-16 14:14:24

小人 发表于 2014-11-16 13:57
while(c1[++i]='\0')while是等于TRUE是循环   你这么写是= 是赋值; 比较是==
你思路上有问题

那要怎么改

小人 发表于 2014-11-16 15:34:56

lzm1 发表于 2014-11-16 06:14
那要怎么改

思路理清 重新写 ,越改你越乱

风之残月 发表于 2014-11-17 10:56:34

看你的代码应该是要复制字符串吧,获取字符串输入是用 gets(),puts() 是输出字符串的内容,判断字符串是否结束用判断最后一个字符是否不是'\0',而且判断不能用“=”,循环里的错误自己理解下吧

#include <stdio.h>

int main()
{
    char c1,c2,i=-1;
    printf("请输入一个字符串: ");
    gets(c1);
    while(c1[++i] != '\0')
        {
      c2=c1;
        }

        c2='\0';
        printf("复制后的字符串为: %s\n",c2);

        return 0;
}
页: [1]
查看完整版本: 请大神帮忙看看那错了