首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这个代码如何写啊

2012-02-22 
这个代码怎么写啊?#includestdio.h#includestdlib.hvoidmain(){char*p[4]{ hello , world , com

这个代码怎么写啊?
#include   <stdio.h>
#include   <stdlib.h>
void   main()
{
char   *p[4]={ "hello ", "world ", "come ", "on "};

//   请问怎么写可以实现用   strlen   语句输出4个字符串呢?
                  strlen  
}

[解决办法]
char *s=NULL;
int i,t;
for(i=0; i < sizeof(p)/sizeof(char*);i++) {
s = p[i];
for(t = strlen(s);t> 0;t--)
putchar(*s++);
}
-_-

[解决办法]
他这是定义的指向字符串的数组, 没有那个5的要求~! 四个就够了
同理, 对指向字符的指针的指针不能用strlen, 只有指向字符的指针也不可以, 只有在指向字符的指针而且指针指向的内容是以 '\0 '结尾的情况下才能用strlen

#include <stdio.h>
#include <stdlib.h>
void main()
{
char *p[4]={ "hello ", "world ", "come ", "on "};
int i;
for(i=0; i <4; i++)
printf( "%s\n ",p[i]);

}


[解决办法]
一定要使用strlen, 这样:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
char *p[4]={ "hello ", "world ", "come ", "on "};
int i;
for(i=0; i <4; i++)
printf( "%-8s || The length of string is:%d\n ",p[i], strlen(p[i]));

}
[解决办法]
那里会出现泄漏了?
是char *p[4]={ "hello ", "world ", "come ", "on "};
不是 char p[4]= "hell ";
啊.

前一个不会, 后一个要求是 char p[5];
因为
p[0]= 'h ';
p[1]= 'e ';
p[2]= 'l ';
p[3]= 'l ';
p[4]= '\0 ';

热点排行