首页 > 电脑

c语言字符串数组怎么赋值?

更新时间2018-07-08 23:49:00

c语言字符串数组怎么赋值?

使用 这种方式,,我觉得应该是a[0]是0   a[1]是1 ......然后每次的a[0]应该都是0   为什么打印的时候  a[0] 一直在变啊  

你的问题是(你没想明白)

你的s是局部变量,它的地址在循环中是不变的(虽然是每次都是重定义的,但编译器会把它栾成一个)

所以虽然,你的a[0]....a[9]都是重新赋了s的地址,实际都是同一个,每个循环它的值都会改变的

你要使你的a[0]不变,而a[i]不同,这样可以

for(i=0;i<10;i++)
    {
        char *s=malloc(2*sizeof(char));
        s[0]='0'+i;
        s[1]=0;
        a[i]=s;
        printf("%s %s ",a[0],a[i]);
    }

相关标签:c语言

上一篇:这样的电脑可以升级什么cpu?

下一篇:windows10不支持WriteFile了吗?