bingliang1 2015-06-12 08:12 采纳率: 100%
浏览 1610
已采纳

为啥C++字符数组存字符串出错?

代码如下:
char *tupiandizhi[3];
for(int u=0; u<3 ; u++)
{
char ch2[30];
sprintf(ch2,"%s%d%s","d:\sift\(",u,").jpg");

tupiandizhi[u]=ch2;
printf("%s\n",tupiandizhi[u]);
}
printf("%s\n",tupiandizhi[0]);
printf("%s\n",tupiandizhi[1]);
printf("%s\n",tupiandizhi[2]);
运行结果如下:
图片说明
我想要的结果应该是tupiandizhi[0])=“d:\sift(0).jpg”

tupiandizhi[1])=“d:\sift(1).jpg”

tupiandizhi[2])=“d:\sift(2).jpg”
为啥结果显示字符数组tupiandizhi[]里面存的都是最后一个元素“d:\sift(2).jpg”?

  • 写回答

5条回答 默认 最新

  • 纵横车 2015-06-12 08:27
    关注
    for(int u=0; u<3 ; u++)
        {
            tupiandizhi[u]=new char[30];
            sprintf(tupiandizhi[u],"%s%d%s","d:\sift\(",u,").jpg");
            printf("n = %d %s\n",u,tupiandizhi[u]);
        }
    

    这样写。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 XP系统的老电脑一开机就提示找不到rundll.exe,付费求解
  • ¥15 milvus查询出来的score怎么转换成0-1之间的相似性
  • ¥15 多ip服务器站群如何搭建l2tp服务器
  • ¥15 lvgl V9移植到linux开发板
  • ¥15 VB.net中在窗体中创建一个button控件来关闭窗体,但是提示错误,我该怎么办
  • ¥15 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了,能具体给改一下吗
  • ¥15 Sharepoint JS开发 付费技术指导
  • ¥15 输入程序运行仿真后,烟雾值不实时检测,变成固定值
  • ¥20 数据排序,可选择排序方向
  • ¥15 修改一下代码,考虑进程到达时间不同的情况