c语言字符串数组怎么赋值? - 爱问答

(爱问答)

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

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语言

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

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

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?