字符串赋初值的问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 09:33:55
char str[5]={‘g',‘o',‘o',‘d'};
这个改成
char str[4]={‘g',‘o',‘o',‘d'};
行不行啊
还有
#include <stdio.h>
void main()
{char str[5]={'g','o','o','d'};
printf("%s\n",str[3]);
}
这个对不对啊 执行出来什么啊

1. char str[5]={‘g',‘o',‘o',‘d'};
这个改成
char str[4]={‘g',‘o',‘o',‘d'};
行不行啊,可以,但是不安全,因为没有'\0'结束符。
2. #include <stdio.h>
void main()
{ char str[5]={'g','o','o','d'};
printf("%s\n",str[3]);
}
这个对不对啊,执行出来什么啊。
这个是错误的,最后一句改成printf("%c\n",str[3]);