前提・実現したいこと
タイトルの通りです。入力した文字列を逆順にする関数reverseを作りたいです。入力する文字列は100文字以下です。
例
「abcde」と入力すると「edcba」と出力する
発生している問題・エラーメッセージ
なぜか出力自体がない
該当のソースコード
C
1#include <stdio.h> 2 3#define LEN 100 4 5 6void reverse(char *p){ 7 char *q=p; 8 char ans; 9 10 while(*q != '\0'){ 11 q++; 12 13} 14 while(p<q){ 15 ans=*p; 16 *p=*q; 17 *q=ans; 18 p++; 19 q--; 20 } 21 22} 23 24 25 26int main() { 27 char s[LEN + 1]; 28 29 scanf("%100s", s); 30 31 reverse(s); 32 printf("%s\n", s); 33 34 return 0; 35}
試したこと
reverse(s);を削除して実行すると、元の文字列が出力されるので、reverse関数が間違っているのだと思うのですが。
いつも一部コードを書き換えたりして間違えている場所を見つけますが、この場合どのようにすればよいのかすらわかりません
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。