C语言问题:求字符串"1\\2\a3\n"的长度。。需详细解释怎么计算。。

作者&投稿:星婷 (若有异议请与网页底部的电邮联系)
C语言问题:求字符串"\t\"Name\\Address\n"的长度。。需详细解释怎么计算。。~

答案是15个



是横向跳到下一个制表的转义制符,\"和\\还有
都一样,分别是指双引号符,反斜线符“\”,回车换行,都只算一个长度,其他的一个算一个长度

需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:
char a[10] = "hello";
char b[] = "hello";
char *c = "hello";
printf("%s%s%s", a, b, c);

3、编译器运行test.cpp文件,此时通过所有3种定义字符串的方法成功定义被输出。

#include<stdio.h>
#include<string.h>
void main()
{
int i;
i=strlen("1\\2\a3\n");
printf("%d\n",i);
}

输出结果是 6

字符分别为:“1”“\\”“2”“\a”“3”“\n”“\0”

其中带有“\”的表示转义字符,也是一个字符。
最后一个“\0”,表示字符串结束,是字符串结束的标志。系统默认自动添加的 ,但是“\0”不在统计之内,同样会占用内存空间。
所以字符分别为:“1”“\\”“2”“\a”“3”“\n”

6个
1 -- 数字1
\\ -- 转意 \
2 -- 数字2
\a -- 转意 \a
3 -- 数字3
\n -- 转意 new-line

int i;
i = strlen("1\\2\a3\n");
printf("%d",i);

6

转意字符长度为1
1,2,3有3个字符 \\,\a,\n有3个转意字符,共六个


C语言字符串问题
当计算m_str的长度时会从最低96开始,一直计算到99(遇到第一个'\\0'前停止),所以m_str的长度为4,同理,计算u_str的长度时会从92开始,一直计算到99,所以其长度为8,从以上分析中显然可以看出,这两个字符串是不相等的,所以strcmp返回-1。图2就不用过多解释了,手动添加了'\\0',输出自然...

C语言题目 A求字符串的长度 B比较两个字符串的大小 C将字符串str1复制...
要说明的是,(*str2++ = *str1++))在复制完后,两个指针都自增1,以便指向下一个地址。其实,这个循环可以这样写:while(*str2++ = *str1++);再加一句:str2 = '\\0'原函数中缺少*str2 = '\\0',是不完整的。从以上分析可知,该函数的功能是字符串复制,与系统函数strcpy()功能相似。

请擅长C语言的大神帮我解答一道关于字符串的计算题!请把每一部计算步 ...
include<stdio.h>main(){char s[]="123456789",*p=s;\/\/p指向s的第一个字符 int i=0;while(*p)\/\/循环判断字符 { if(i%2==0) *p=' *';\/\/i%2==0 123456789(010101010)所以改变的是偶数位置的数 p++;\/\/p本来指向第一个字符1,加1,指向第二个字符,以此类推 i++;}printf("%...

C语言:求出从键盘输入的字符串的实际长度,字符串中可以包含空格,跳格...
include<stdio.h>int len(char s[]);main(){ char s[20]; gets(s); printf("%s %d",s,len(s));}int len(char s[]){ char *p=s; while(*p!='\\0') \/* *p!='\\0' 是用指针所指向的内容和结束符相比*\/ p++; return p-s;} ...

C语言问题: 输入一行字符,分别统计英文字符、数字字符、空格和其它字...
{ int a=0,b=0,c=0,d=0;gets(s);int i;for(i=0;s[i]!='\\0';i++){ if(s[i]<='z'&&s[i]>='a'||s[i]>='A'&&s[i]<='Z')a++;\/\/字母数 else if(s[i]==' ')b++;\/\/空格数 else if(s[i]>='0'&&s[i]<='9')c++;\/\/数字数 else d++;\/\/其他字符 ...

关于C语言字符串的问题求助
其中有一个转义字符'\\0',它是字符串结束符,所以,当用函数strlen来测试该字符串的长度时,结果应该为5 \\t\\018\\\\\\"12 当遇到转义字符'\\0'时,还要看其后面是否还有数字,若有,则应将后面的数字(一至二位)与前面的'\\0'相结合作为一个字符计入整个字符串的长度。0807\\07\\08可以拆成0 8...

...输入一个字符串A 在输入一个字符串B,求字符串A中包涵几个字符串B...
include <stdio.h> include <string.h> char s[200], a[200];int ok(int i, int t)\/\/计算从字符串s的i位置开始的t个字符是否是字符串a { int j, k;for(j=i, k=0; k<t; j++, k++){ if(s[j] != a[k]) return 0;\/\/0表示不是字符串a } return 1;} int count(){ ...

C语言字符串求解问题
假设程序输入字符串s,应该要判别的类别少,可以用if-else完成,即if( !strcmp(s, "abc")) putchar('1'); \/\/如果输入是abc else if( !strcmp(s, "qwe")) putchar('2');else if( !strcmp(s, "cpp")) putchar('1');而要判别的类很多的话,应当存入字符串,如:define N 3 ch...

c语言字符串长度问题,求帮助!
这个手写的题目的末尾应该是少了一个双引号。掌握的原则是如果有两个连续的斜杠,那么它就是相当于一个斜杠字符,否则一个斜杠再加上后面的一个字母,就是构成一个转义字符。所以这个字符串的长度,末尾再增加一个双引号后,它的长度就是9。

关于C语言问题请编写一个程序,定义一个字符串a,向字符串a输入若干个...
方法1:#include <stdio.h> #include<string.h>int main(){char a[100];int len;gets(a);len = strlen(a);printf("%d\\n", len);return 0;}方法2:#include <stdio.h> #include<string.h>int main(){char a[100];int i=0;gets(a);while(a[i])i++;printf("%d\\n", i);...

米东区19145988319: 一道C语言字符串题,求解,简单说一下过程 -
吁窦羚羊: 这里要注意的字符参与算术运行.是用字符的ASCII码来运算的.如:'0'的ASCII码是48,依次为:1是49……

米东区19145988319: C语言编程寻找字符串问题,新人求助 -
吁窦羚羊: #include <stdio.h> #include <string.h> int happy(char a[]) { int i; int j; char p[] = "happy"; int flag = 0; for(i = 0; i < strlen(a); i++) {for(j = 0; p[j] == a[i] && a[i] &&p[j];i++, j++); if(p[j] == '\0') { flag = 1; return flag; }} return flag;} int main(void) {int n;char ...

米东区19145988319: c语言字符串程序问题
吁窦羚羊: #include <stdio.h> void main() { char *p1,*p2,s1[100],s2[100]; printf("输入字符串1:"); scanf("%s",s1); printf("输入字符串2:"); scanf("%s",s2); for(p1=s1;*p1;p1++); for(p2=s2;*p2;*p1++=*p2++); *p1='\0'; printf("连接后的字符串:%s",s1); }

米东区19145988319: C语言:编程求一个字符串的长度, 用字符数组实现.(麻烦大神帮忙解答下) -
吁窦羚羊:main() { int len=0;char str[20], *p;printf("\nInput a string:");scanf("%s",str);p=str;while (*p!='\0'){ len++;p++; /*字符串指针自增*/}printf("\nThe lengthis:%d",len); }

米东区19145988319: C语言字符串题目 -
吁窦羚羊: #include void convertword(char *c) { if(*c=='z')*c='a'; else if(*c=='Z')*c='A'; else (*c)++; } main() { char str[100],*p; gets(str); p=str; if(*p!=' '&&*p!='*')convertword(p); while(*p!='*') { if(*p==' '&&*(p+1)!=' ') convertword(p+1); p++; } printf("%s",str); getch(); return 0; }

米东区19145988319: C语言字符串简单问题 求解~ -
吁窦羚羊: 其实已经出错了,我们看看栈:|----------'1''2''3''4''5''\0''1''2''3''4''\0'******| 栈顶 c2起始地址 c1起始地址 栈底 高地址 在X86架构的体系中,栈底为高地址,并向低地址增长.当执行strcpy(c1, c2)时,c1开始的内存地址,被c2开始的内存地址的数值覆...

米东区19145988319: C程序问题 字符串
吁窦羚羊: #include "stdio.h" void main() { char a[100]; int i=0,b[3]={0}; gets(a); while(a[i]!='\0') { if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z') b[0]+=1; else if(a[i]>='0'&&a[i]<='9') b[1]+=1; else b[2]+=1; i++; } printf("字母%d个,数字%d个,其它%d个\n",b[0],b[1],b[2]); }

米东区19145988319: 跪求一道基础C语言题目(关于字符串) -
吁窦羚羊: #include <stdio.h>int countlets(char data[]){ int i=0,ans=0; char c; while(*(data+i)!='\0') { c=*(data+i); if(c>='A'&&c<='Z') ans++; if(c>='a'&&c<='z') ans++; i++; } return ans;}int main(){ char str[]="1ao45 -=,a0fu oafj"; int counts=countlets(str); printf("字母个数:%d\n",counts); return 0;}如上可以实现你说的.已经运行过了.输出效果字母个数:9

米东区19145988319: 求一C语言字符串,问题 -
吁窦羚羊: #include int main() { char longest_str[128]; char tmp[128]; int longest = 0; int len; while(1) { scanf("%s", tmp); if (!strcmp(tmp, "stop")) break; len = strlen(tmp); if (len > longest) { strcpy(longest_str, tmp); longest = len; }} printf("the longest string is : %s\r\n", longest_str); return 0; }

米东区19145988319: 超简单的C语言问题,怎么定义字符串? -
吁窦羚羊: 把声明中的返回值char去掉就行了,如下:Enmonth(int m); #include void main()//输入月份,输出相应的英文名称 { int month; scanf("%d",...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网