当我尝试打印字符串" descpt"时出现问题。请有人帮助我。 这是我的代码:
struct Article {
int a;
int b;
const char *descpt[20];
};
void Print(Article * data) {
printf("The article number is %d\n", data->a);
printf("The quantity is %d\n", data->b);
printf("The article number is %s\n", data->descpt[20]);
}
int main() {
Article data;
data.a = 10;
data.b = 20;
data.descpt[20] = "Articles";
Print(&data);
return 0;
}
答案 0 :(得分:0)
#include<stdio.h>
#include<string.h>
struct Article {
int a;
int b;
char descpt[20];
};
void Print(Article * data) {
printf("The article number is %d\n", data->a);
printf("The quantity is %d\n", data->b);
printf("The article number is %s\n", data->descpt);
}
int main()
{
Article data;
data.a = 10;
data.b = 20;
strncpy_s(data.descpt, "Articles", strlen("Articles"));
Print(&data);
return 0;
}
答案 1 :(得分:0)
也许你想要这样的东西?
struct Article {
int a;
int b;
const char descpt[20]; /* array of max 19chars+terminator\0 */
};
void Print(Article * data) {
printf("The article number is %d\n", data->a);
printf("The quantity is %d\n", data->b);
printf("The article number is %s\n", data->descpt);
}
int main()
{
Article data;
data.a = 10;
data.b = 20;
strcpy(data.descpt,"Articles");
Print(&data);
return 0;
}
对于strcpy()
,您必须#include <string.h>