69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#define LEN 64
int main(void)
{
int message1[3][3] = { { 1,0,0 },{ 0,0,0 },{ 0,0,0 } };
const char *message2 = "help";
//char *message = new char[100];
char *message = NULL;
message = (char *)malloc(sizeof(char) * LEN);
if (NULL == message) {
fprintf(stderr, "malloc error: %s\n", strerror(errno));
return 1;
}
//memset(message, 0, 100);
memset(message, 0, LEN);
sprintf(message, "%s%d%d%d%d%d%d%d%d%d",
message2,
message1[0][0], message1[0][1], message1[0][2],
message1[1][0], message1[1][1], message1[1][2],
message1[2][0], message1[2][1], message1[2][2]);
printf("%s", message);
free(message);
return 0;
}
C语言中通过malloc/realloc/calloc来申请堆上的空间;#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
int main ()
{
int message1[3][3] = {{1,0,0},{0,0,0},{0,0,0}};
const char *message2 = "help";
char *message = new char[100];
memset(message, 0, 100);
sprintf(message, "%s%d%d%d%d%d%d%d%d%d",
message2,
message1[0][0], message1[0][1], message1[0][2],
message1[1][0], message1[1][1], message1[1][2],
message1[2][0], message1[2][1], message1[2][2]);
cout << message << endl;
return 0 ;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN 64
int main() {
int L,message1[3][3] = { { 1,0,0 },{ 0,0,0 },{ 0,0,0 } };
char *message2="help";
char *message = NULL,*p;
message = (char *)malloc(sizeof(char) * LEN);
if (NULL == message) {
fprintf(stderr, "malloc error: %s\n", strerror(errno));
return 1;
}
p=message;
L=sprintf(p,"%s",message2);p+=L;
for (int y=0;y<3;y++)
for (int x=0;x<3;x++) {
L=sprintf(p,"%d",message1[y][x]);p+=L;
}
printf("[%s]\n", message);
free(message);
return 0;
}
//[help100000000]
//