本文介绍了sizeof和strlen有什么区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 你好, sizeof(" abcd")和strlen(" abcd")之间有什么区别?为什么 两个函数在应用于同一个字符串时给出不同的输出 " abcd"。 我尝试了以下示例。 #include< stdio.h> #include< string.h> void main() { char * str1 =" abcd"; char str2 [] =" abcd"; printf("%d% d%d,sizeof(str1),sizeof(str2),sizeof(abcd)); printf("%d%d%d",strlen(str1),strlen (str2),strlen(" abcd")); } hello,what is difference between sizeof("abcd") and strlen("abcd")? whyboth functions gives different output when applied to same string"abcd".I tried following example for that.#include <stdio.h>#include <string.h>void main(){char *str1="abcd";char str2[]="abcd";printf("%d %d %d",sizeof(str1),sizeof(str2),sizeof("abcd"));printf("%d %d %d",strlen(str1),strlen(str2),strlen("abcd"));} 推荐答案 做类似的事情 char str [12]; strcpy(str," hello"); printf("%zu vs%zu \ n",DIM(str),strlen (str)); 你会知道的。 Do something likechar str[12];strcpy(str, "hello");printf("%zu vs %zu\n", DIM(str), strlen(str));and you''ll know. ^^^^ 为什么这么多人发帖没有 b)查看常见问题 甚至 c)从中学习关于C的第一件事最基本的教科书? 不可能认真对待那些能够搞砸了一些基本的东西的人。 ^^^^Why do so many people post withouta) following the newsgroupb) checking the FAQor evenc) learning the first thing about C from even the most basic textbook? It is impossible to take seriously a question from someone who couldscrew up something so basic. ^^^^ 为什么这么多人发帖没有 a)关注新闻组甚至 c)从最基本的教科书中学习关于C的第一件事? 不可能认真对待一个问题有人能够搞砸一些如此基本的东西。 ^^^^ Why do so many people post without a) following the newsgroup b) checking the FAQ or even c) learning the first thing about C from even the most basic textbook? It is impossible to take seriously a question from someone who could screw up something so basic. 确实有可能。如果你将返回类型设置为无效,大多数编译器都不会发出警告。他们将默默地插入代码以返回0 并继续。 Indeed it is possible. Most compilers won''t issue a warning if you setthe return type to void. They will silently insert code to return a 0and just go on. 这篇关于sizeof和strlen有什么区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 10-28 01:14