如何从c中的字符字符串中获取每个元素?
我想把buf[20]的前7个元素放到字符A到G中。我希望结果可以是如何从c中的字符字符串中获取每个元素?,c,string,C,String,我想把buf[20]的前7个元素放到字符A到G中。我希望结果可以是1h,2e,3l,4l,5o,6,7w,但我得到的是1h,2e olWH,3lwh,4le olWH,5olwh,6olwh,7wh。有人能解释一下吗 #include <stdio.h> char buf[20]="Hello World"; char A,B,C,D,E,F,G; int main() { A=buf[0]; B=buf[1];
1h,2e,3l,4l,5o,6,7w
,但我得到的是1h,2e olWH,3lwh,4le olWH,5olwh,6olwh,7wh
。有人能解释一下吗
#include <stdio.h>
char buf[20]="Hello World";
char A,B,C,D,E,F,G;
int main()
{
A=buf[0];
B=buf[1];
C=buf[2];
D=buf[3];
E=buf[4];
F=buf[5];
G=buf[6];
printf("1 %s,2 %s,3 %s,4 %s,5 %s,6 %s,7 %s",&A,&B,&C,&D,&E,&F,&G);
return 0;
}
#包括
char buf[20]=“你好,世界”;
字符A、B、C、D、E、F、G;
int main()
{
A=buf[0];
B=buf[1];
C=buf[2];
D=buf[3];
E=buf[4];
F=buf[5];
G=buf[6];
printf(“1%s、2%s、3%s、4%s、5%s、6%s、7%s”、&A、B、C、D、E、F和G);
返回0;
}
使用%c
和A
-G
而不是%s
和&A
-&G
%s
是字符串的printf格式,%c
是字符的printf格式
C字符串是由特殊字符
'\0'
终止的字符序列的内存地址buf
是一个字符串,但a到G只是一个字符,它们的地址不能被视为字符串。使用%c
和a
-G
而不是%s
和&a
-&G
%s
是字符串的printf格式,%c
是字符的printf格式
C字符串是由特殊字符
'\0'
终止的字符序列的内存地址buf
是一个字符串,但a到G各只有一个字符,它们的地址不能被视为字符串。字符是内存中的一个字节,仅此而已。字符串是以零字节结尾的一系列字节。因此,在字符地址上使用%s打印字符,以及内存中的任何垃圾,直到出现空字节为止(或直到出现内存故障且程序转储内核为止)。您需要%c。字符是内存中的一个字节,仅此而已。字符串是以零字节结尾的一系列字节。因此,在字符地址上使用%s打印字符,以及内存中的任何垃圾,直到出现空字节为止(或直到出现内存故障且程序转储内核为止)。您想要%c。非常感谢!你解决了这个问题,我花了3个小时思考问题出在哪里。非常感谢!你解决了这个问题,我花了3个小时思考问题出在哪里。