みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

abcdとキーボードで打ったらdcbaと表示されるプログラム

C言語に関しては初心者です。
メイン関数は変更せずに行います。

/* reverse.c: reverse a given string */
#include <stdio.h>
#include <string.h>
void reverse(char *);/* プロトタイプ宣言 */

int main(void)
{
char str[100];

scanf("%s", str);
reverse(str);
printf("%s\n", str);

return (0);
}
void reverse(char *s)
{
char n;
int i;
char str;
n = strlen(str) - 1;
for(i=0,i++,i<=100)
{
s[i] = *s[n-i];
printf("%s\"s[i]);
}
}

投稿日時 - 2005-06-09 16:55:50

QNo.1438944

困ってます

質問者が選んだベストアンサー

void reverse(char *s)
{
int i,n;
char str;
n = strlen(s) ;
for(i=0,i<=n/2,i++)
{ str = s[n-i-1]; s[n-1-i]=s[i]; s[i]=str;
// printf("%s\"s[i]);
}
}

投稿日時 - 2005-06-09 17:31:42

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

void reverse(char *str){
char c,*front,*back;

for(front=str,back=str+strlen(str)-1;front < back;front++,back--){
c=*front;*front=*back;*back=c;
}
}

投稿日時 - 2005-06-10 14:05:10

ANo.1

何がわからないのか、聞きたいのか、どこがわからないのか、聞きたいのかを書くことをおすすめします。

文脈も質問に見えませんし、コンパイルしてみる気も起きませんので。

投稿日時 - 2005-06-09 16:58:32

あなたにオススメの質問