13,825
社区成员
发帖
与我相关
我的任务
分享
#include "stdio.h"
char *dapu[4];
void main()
{
int a=3,b=2;
dapu[0]="车3退2";
printf("%s",dapu[0]);
}
的 dapu[0]
如果是 stirng 的话
string dapu[4];
dapu[0] = "车3退2";
就可以了
但是 楼主用的 char 指针 实在是 没法 做到吧
除非 用 sprintf 格式化 输出到 某一 字符 数组中,等
char dapu[MAX_LEN];
这么写的 , 把你 想要 写的 字符串 放在里面 至于 你想 写 什么样子的 随便你, 我学你 一句话
这样说可能还是难以明白,这样吧,你可以 使用 sprintf 等 不列举了 ,格式化 输出到里面,
根据 你的 程序, 你或许想 弄一系列 字符串 怎么办?
你可以 malloc 一块儿 足够大的 内存, 组织好 你的 字符串 , 写到 里面 也可以。
或许 你很喜欢 复杂的 东西, 那么, 你可以 建立 链表, 把 你的 字符串 一个一个 的 串号。
这都是解决办法,
for(che = 0; che < 10; che++)
{
qibu[0] = .../* 这里的车进几个格完全由车已经自增了几次决定 */
}
由于每次读入的字符串里面都是字符串常量【不管循环体执行几次里面都是固定的东西】,那可不可以在里面掺杂一些不是固定常量的东西呢【像随循环体变化而变化的】?char *dapu[4];
你既然 写出 这种东西
那你 为什么不写
const char * dapu;
dapu = "车3退2";
再说了 dapu[0] 只是 一个 指针 而已, 指向的是 一个 固定区域的 字符串。那 你预留的 后面 三个空间 是干什么的呢?
[#include "stdio.h"
char *dapu[4];
void main()
{
int a=3,b=2;
dapu[0]="车3退2";
printf("%s",dapu[0]);
}
#include "stdio.h"
#include "string.h"
char dapu[MAX_LEN]; // 足够大的空间
void main()
{
int a=3,b=2;
strcpy( dapu, "车3退2" );
printf("%s",&dapu[0]);
}