char数组的打印
charga[10];strcpy(ga,"abc");printf("[%s]\n",ga);printf("[%s]\n",&ga);"ga就是指向ga[]的指针,后...
char ga[10];
strcpy(ga, "abc");
printf("[%s]\n", ga);
printf("[%s]\n", &ga);
"ga就是指向ga[]的指针,后面一个是错的。地址上在加&直接就错了,编译都不能过。"
但以上语句都打印出:
[abc]
[abc]
是碰巧了?谢谢!
为什么(&ga)+ 1打印出的是空值?如果&ga是把首地址看成二维数组,那&ga+1表示的是什么呢?
另外我尝试:
char gb[10][10];
strcpy(gb[0], "cde");
strcpy(gb[1], "edf");
printf("[%s]\n", gb + 1);
printf("[%s]\n", (&gb) + 1);
gb+1表示的是gb[1],那&gb+1(打印出空值)表示的又是什么呢? 展开
strcpy(ga, "abc");
printf("[%s]\n", ga);
printf("[%s]\n", &ga);
"ga就是指向ga[]的指针,后面一个是错的。地址上在加&直接就错了,编译都不能过。"
但以上语句都打印出:
[abc]
[abc]
是碰巧了?谢谢!
为什么(&ga)+ 1打印出的是空值?如果&ga是把首地址看成二维数组,那&ga+1表示的是什么呢?
另外我尝试:
char gb[10][10];
strcpy(gb[0], "cde");
strcpy(gb[1], "edf");
printf("[%s]\n", gb + 1);
printf("[%s]\n", (&gb) + 1);
gb+1表示的是gb[1],那&gb+1(打印出空值)表示的又是什么呢? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询