1樓:
樓主你好。
#include
#include
char *reverse(char *str);
void main()
;printf("intput reverstin characer string:");
gets(str);
printf("output reversed character string:");
puts(reverse(str));
}char *reverse(char *str)
return str;
}輸出:
intput reverstin characer string:abcdefghijk
output reversed character string:kjihgfedcba
press any key to continue
之前的錯誤是因為字串"abcd"儲存在.rodata段,即常量資料段,ro代表read only(只讀)。這裡的資料不能修改的,你嘗試修改一個常量,因此產生了錯誤。
加油吧,祝考研順利。
2樓:寂寞而莫我知也
#include
void pp(char *p)
}void main()
C語言字元陣列與字串問題,C語言中將字串賦值給字元陣列的問題
渿河 這是在定義時初始化 如果你的右邊花括號內的字元個數少於 陣列元素個數 那麼其餘的陣列元素將會初始化為0 0 的ascii碼的值就是0 如果你不指定陣列元素個數 編譯器會自動幫你計算出元素個數的 char c 10 這個是已經給定了陣列的大小,達不到陣列大小的長度的話會自動添零的 c語言中將字串...
c語言中字元陣列只能存放字串,C語言中字元陣列只能存放字串?
八哥說科技 不是的,c語言中字元陣列既可以儲存字元,又可以儲存字串。字元陣列本意就是是指用來存放字元資料的陣列。字元陣列的元素是字元型別的。字元陣列用於存放字元或字串。c語言中字元陣列的一般形式為 char 陣列名 資料長度 例如 char a 10 a 0 0 a 1 1 a 2 2 a 3 3 ...
c語言中測試字串長度的函式,C語言中測試字串長度的函式
你的if中的條件寫的有問題,應改為 if c a c z c a c z 這樣說明只有你輸入的是字母時,a的值才執行 操作。而你的條件c a z a z 後半部分 a z a z 返回值永遠都是真,因為a和a永遠都比z和z小呀。前半部分的c是你輸入的值,如果不是輸入了0對應的ascii碼值48,那也...