C语言?:语句中的字符串该怎么初始化定义?

#include <stdio.h>

int main()
{
int m;
printf("Married people enter nonzero integer and unmarried people enter zero\n");
scanf("%d",&m);

char a[]="";
char b[]="Married";
char c[]="Unmarried";

a = (m==0)?c:b; \\出错:'=' : cannot convert from 'char *' to 'char [1]'

printf("Someone is %c\n",a);
return 0;
}
最新回答
吧唧你一口

2024-11-08 03:07:58

应该选a
char
str[]
= {'g',……,'l'};
没有给str设定有多少个字符,比如str[8],也没有在字符中{'g',……,'l'}设置结束标记"\0"
所以是错的。
d项因为是"good!"字符串,所以在赋值给str[]的时候会自动根据字符串长度设置数组长度,同时在结尾加结束标记"\0"
逗逼太愉快

2024-11-08 01:04:04

#include <stdio.h>

int main()
{
int m;
printf("Married people enter nonzero integer and unmarried people enter zero\n");
scanf("%d",&m);

char *a;//<-------------
char b[]="Married";
char c[]="Unmarried";

a = (m==0)?c:b;      
printf("Someone is %s\n",a);//<------------
return 0;
}