这个程序应该怎样写出来?

来源:百度知道 编辑:UC知道 时间:2024/07/02 18:42:51
要在屏幕上输出
xuehao yuwen shuxue dili lishi
用数组输出
我是这样定义的:
char *a[5]={"xuehao yuwen shuxue dili lishi"};
应该怎样编写让它输出呢?
我把程序写成这样的了:
for(i=0;i<5;i++)
printf("%s ",b);
为什么结果是:
xuehao yuwen shuxue dili lishi(null)(null)(null)

(null)(null)(null)是怎么回事?

想使用指针数组,程序如下:
#include <stdio.h>
int main()
{
int i,j;
char *a[5]={"xuehao", "yuwen" ,"shuxue" ,"dili", "lishi"};
for(i=0;i<5;i++)
{
printf("%s ",a[i]);
}
}
注意你的定义方式.定义char *a[5],a[0]至 a[4]分别指向一个字符数组的首地址.

main()
{
char *a[5]={"xuehao yuwen shuxue dili lishi"};
printf("%s",a); //字符串类型
}

LZ你定义有问题,应该是
char *a[5]={"Xuehao","yuwen","shuxue","dili","lishi"};
如果按你那样数组里只有一个有意义的成员
具体输出可参考如下:
main(){
char *a[5]={"Xuehao","yuwen","shuxue","dili","lishi"};
int i;
for(i=0;i<5;i++)
printf("%s",*(a+i));
}