|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
/*#include <stdio.h>
#include <string.h>
int main() {
char str[81]; //创建字符串
gets(str); //读取字符串
int i = 0; //数组下标
for (i = strlen(str); i > 0; i--) { //从末尾开始遍历字符串
if (str[i] == ' ') { //如果遇到空格
printf("%s ", &str[i+1]); //输出空格后的单词
str[i] = '\0'; //把空格改为 \0,使后续输出也只有一个单词
}
}
printf("%s", &str[i]); //输出原字符串的第一个单词
return 0;
}*/
上面哪个printf里面用&是为什么?
- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- char a[] ={'a', 'b', 'c', '\0', 'd', 'e', 'f', '\0'};
- char *b;
- printf("%s\n", a);
- printf("%s\n", a+4); // a的地址+4 ,地址指向d处。
- // 再假设 b 的地址为
- b = a+4;
- printf("%s\n", b-2); // 我在b地址的基础上,地址前移2位。
- // 注: %s , 你可以用它来输出内存任意地址的字符串,该字符串以'\0'为结束标记。没那么难懂吧。
- return 0;
- }
复制代码
|
|