求大神进来看看,这个程序哪里有问题?取出字符串中的单词
int main(int argc, const char * argv[])
{
int word = 0,k = 0;
char b[] = {0};
char a[] = "lanou keji i love China";
for (int i = 0; a[i] != '\0'; i++) {
if (a[i] == ' ') {
word = 0;
}else if (word == 0){
word = 1;
b[k] = a[i];
}
}
for (int i = 0; i < 50; i++) {
printf("%s",b[i]);
}
}
[解决办法]
#include <stdio.h>
int main(int argc, char* argv[])
{
char a[] = "lanou keji i love China";
char b[32];
int k = 0;
int i;
for(i = 0; a[i] != '\0'; i++)
{
if(a[i] == ' ')
{
b[k] = '\0';
printf("%s\n", b);
k = 0;
}
else
{
b[k++] = a[i];
}
}
b[k] = '\0';
printf("%s\n", b);
return 0;
}