vitalfish 发表于 2022-7-14 15:35:47

晕,字符数组不是说不可以用赋值COPY的吗?

这里是代码哟,我试一试发现可以的?{:5_94:}


#include <Stdio.h>

int main()
{
          char str1[] = "i love fishc.com";
          char str2 = {0};
          int i;
          
          for(i = 0; i < 17 ;i++ )
          {
                  str2=str1;
                  printf("%c",str2);
                }
          
          
          return 0;
       
       
}

vitalfish 发表于 2022-7-14 15:39:09

#include <Stdio.h>

int main()
{
          char str1[] = "i love fishc.com";
          char str2 = {0};
          int i;
          
          for(i = 0; i < 17 ;i++ )
          {
                  str2=str1;
                  printf("str2: %s\n",str2);
                }
          
          
          return 0;
       
       
}

vitalfish 发表于 2022-7-14 15:39:49

vitalfish 发表于 2022-7-14 15:39
#include

int main()


评论那一串貌似又不行,不懂了

人造人 发表于 2022-7-14 15:58:37

vitalfish 发表于 2022-7-14 15:39
评论那一串貌似又不行,不懂了

注意%c和%s的区别

//#include <Stdio.h>      // 认真一点,注意字符s是小写的
#include <stdio.h>

int main() {
    char str1[] = "i love fishc.com";
    char str2 = {0};
    int i;

    for(i = 0; i < 17; i++) {
      str2 = str1;
    }
    printf("str2: %s\n", str2);

    return 0;
}

jackz007 发表于 2022-7-14 16:14:22

本帖最后由 jackz007 于 2022-7-14 16:25 编辑

      定义字符数组的时候是可以用字符串来进行初始化的,这项操作是静态的,是由编译程序来完成的,就是说,在编译好的程序中,字符数组的初始化已经完成。所谓不可以 COPY, 意思是不可以用等号给一个字符数组整体赋值,因为 C 语言并没有预设对应于此操作的指令集合,因而无法进行编译。

vitalfish 发表于 2022-7-14 16:46:36

jackz007 发表于 2022-7-14 16:14
定义字符数组的时候是可以用字符串来进行初始化的,这项操作是静态的,是由编译程序来完成的,就是说 ...

大概理解了
页: [1]
查看完整版本: 晕,字符数组不是说不可以用赋值COPY的吗?