#include"stdio.h" //#include<string> int update(char *s)//修改s本身的值 { s = s + 5; printf("5---%s/n",s); return 0; } int updatechar(char *s)//修改*s指向的值 按引用传递 { //memset(s,'a',5); s[5] = 'a'; s[6] = 'a'; printf("6---%s/n",s); return 0; } int main() { char *s2 = "abcdefghijklmnopqrstuvwxyz";//双引号的这种形式的字符串是静态对象不 //一般是不允许修改的 char s[10] = {'a','b','c','d','e','f','g','h','i','j'}; //char *s; //memset(s,'m',6); printf("1---%s/n",s+5); printf("2---%s/n",s); update(s); printf("3在update中修改s的值---%s/n",s); updatechar(s); printf("4在updatechar中修改*s的值---%s/n",s); system("pause"); return 0; } #include"stdio.h" //#include<string> int update(char *s)//修改s本身的值 { s = s + 5; printf("5---%s/n",s); return 0; } int updatechar(char *s)//修改*s指向的值 按引用传递 { //memset(s,'a',5); s[5] = 'a'; s[6] = 'a'; printf("6---%s/n",s); return 0; } int main() { char *s2 = "abcdefghijklmnopqrstuvwxyz";//双引号的这种形式的字符串是静态对象不 //一般是不允许修改的 char s[10] = {'a','b','c','d','e','f','g','h','i','j'}; //char *s; //memset(s,'m',6); printf("1---%s/n",s+5); printf("2---%s/n",s); update(s); printf("3在update中修改s的值---%s/n",s); updatechar(s); printf("4在updatechar中修改*s的值---%s/n",s); system("pause"); return 0; } 输出结果 1---fghij 2---abcdefghij 5---fghij 3在update中修改s的值---abcdefghij 6---abcdeaahij 4在updatechar中修改*s的值---abcdeaahij
结果