sle6课后题'\n'占几个字节 不能用sizeof来看占几个字节吗?
本帖最后由 ziqiyang 于 2018-9-8 11:33 编辑'\n'占几个字节 不能用sizeof来看占几个字节吗?应该如何编写,自己试了几次,总是提示语法错误或者表达式错误。我感觉我还是哪里的定义没弄明白,求指导。
#includ<stdio.h>
int main()
{
printf("\\n占%d个字节\n",sizeof(\n));
return 0;
}这个提示表达式错误
#includ<stdio.h>
int main()
{
printf("'\\n'占%d个字节\n",sizeof('\n'));
return 0;
}这个提示语法错误 #include <stdio.h>
int main(void)
{
printf("'\\n'占%d个字节\n", sizeof('\n'));
return 0;
}
本帖最后由 ziqiyang 于 2018-9-8 12:18 编辑
int main(void)这句是啥意思啊
我加了 还是提示错误啊{:5_100:}
#include<stdio.h> #includ少了个3 打错了,includ少了个e #include <stdio.h>
int main()
{
printf("%d",sizeof("\n"));
return 0;
} gpf谦默 发表于 2018-9-8 15:23
#include
int main()
{
老大 我这里为啥现实的是占2个字节啊 答案是占1个字节啊 ziqiyang 发表于 2018-9-9 16:31
老大 我这里为啥现实的是占2个字节啊 答案是占1个字节啊
这样测得话是把它当做字符串来测得字符串的结束标志是/0 其实在输出语句中 \n代表换行\ 代表的是转义字符 gpf谦默 发表于 2018-9-10 10:45
这样测得话是把它当做字符串来测得字符串的结束标志是/0 其实在输出语句中 \n代表换行\ 代表的 ...
“其实在输出语句中 \n代表换行\ 代表的是转义字符",这个只需要理解,转义字符能用sizeof运算符计算占几个字节码?
原题是: 在 C 语言中,转义字符 '\n' 占多大空间? ziqiyang 发表于 2018-9-10 11:12
“其实在输出语句中 \n代表换行\ 代表的是转义字符",这个只需要理解,转义字符能用sizeof运算符计算 ...
那肯定是一个字节啦 gpf谦默 发表于 2018-9-10 11:34
那肯定是一个字节啦
老大如题目,这个用sizeof运算符怎么写才对呢,求给个标准程序写法。 ziqiyang 发表于 2018-9-10 12:38
老大如题目,这个用sizeof运算符怎么写才对呢,求给个标准程序写法。
你好你可以用strlen()这个函数去测"\n"占用的实际字节
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
printf("%d",strlen("\n"));
return 0;
} ziqiyang 发表于 2018-9-10 12:38
老大如题目,这个用sizeof运算符怎么写才对呢,求给个标准程序写法。
补充一下 strlen()(测字符串占用的实际空间) sizeof() 测占用空间大小包含\0
在程序中用sizeof("\n")的结果为2其原因是\n占一个字节 \0占一个字节他把"\n"作为字符串处理
会在末尾自动添加\0(字符串结束标志) 而用strlen("\n")的结果是2其原因是 strlen()测得是实际长度,不包括\0 举个例子吧 char str="123456"用strlen(str)测得结果是6 而 sizeof(str)测试的结果则是20 因为测的是实际申请占用的空间 gpf谦默 发表于 2018-9-10 14:41
补充一下 strlen()(测字符串占用的实际空间) sizeof() 测占用空间大小包含\0
在程序中用sizeof(" ...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
printf("%d",sizeof('\n'));
return 0;
}
页:
[1]