char 指针如何判断字符串需要输出长度

Posted 枝桠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了char 指针如何判断字符串需要输出长度相关的知识,希望对你有一定的参考价值。

先上代码:

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 
 5 const char g_ip[32] = "123456789";
 6 int func1(const char *ip)
 7 {
 8         printf("ip:%s\n",ip);
 9         printf("ip size:%d\n",sizeof(ip));
10         if(*ip == \0)
11                 printf("ip is none\n");
12         printf("g_ip:%s\n",g_ip);
13         printf("g_ip size:%d\n",sizeof(g_ip));
14         if(*ip == \0)
15                 printf("g_ip is none\n");
16         return 0;
17 }
18 
19 int main()
20 {
21         const char ip[32]="ABCDEFG";
22         func1(ip);
23         return 0;
24 }

运行结果:

[[email protected] ~]$ ./a.out
ip:ABCDEFG
ip size:8
g_ip:123456789
g_ip size:32

看8、9行代码,为什么ip是一个char指针, 但是%s的时候却知道到底要printf多长???

 

以上是关于char 指针如何判断字符串需要输出长度的主要内容,如果未能解决你的问题,请参考以下文章

如何获取指针字符串的长度

C语言:写一个函数,求一个字符串的长度.在main函数中输入字符串并输出其长度

如何在c语言中计算字符串长度

C语言中将字符串打印成指定长度的方法

指针字符串反转

c++字符串长度函数