質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • C#

    7094questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • C++

    3440questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

アルファベットの並び替えでエラーが出てきます

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 159

forza

score 6

以下のプログラムをコンパイルすると下記のエラーが出てきます。
prog0210.c:32:11: warning: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘int’ [-Wformat=]
fprintf(fout,"%s",str[i]);

どのように改善すれば良いかご教授して頂けると助かります。
宜しくお願いします。

include<stdio.h>

include<stdlib.h>

int main(void)
{
char str[500];
int a,i,j; 

FILE *fin, *fout;

if ((fin = fopen("data1", "r")) == NULL)
{
printf("入力ファイルがありません\n");
exit(1);
}
if ((fout = fopen("data2", "w")) == NULL)
{
printf("出力ファイルがありません\n");
exit(1);
}
for (i = 0; str[i]!=0; i++)
{
for (j = i+1; str[j]!=0; j++)
{
fscanf(fin, "%s", &str[i]);
if(str[i]>str[j])
{
a=str[i];
str[i]=str[j];
str[j]=a;
}
fprintf(fout,"%s",str[i]);
}
fclose(fin);
fclose(fout);
}
return 0;
}

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

メッセージをよく読みましょう。

fprintf(fout,"%s",str[i]);で、"%s"を指定しているがパラメタはint(charはintとして解釈)になってるよd^^;・・・って言われてます。

文字列ならfprintf(fout,"%s",&str[i]);
文字ならfprintf(fout,"%c",str[i]);
にしましょう。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/09 12:39

    有難う御座いました!助かりました

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    C言語 式の構文エラー 内容について

    複数の単語からなる文を入力し,各単語の先頭文字を大文字に変えて表示させる というプログラムを作っているのですが、コンパイル時に ------ Borland C++ 5.5.1 f

  • 解決済

    C言語 fopen パス指定

    初歩的な質問になってしまいます。 ファイルのパスを指定してfopenをしたいのですが、うまくいかなかったので質問させていただきます。 OSはLinuxです。 まず buf[]="

  • 解決済

    型変換のエラー

      while (cnt = fin.read(inbuf, BUF_SIZE))  の部分ですが、  invalid conversion from ‘void*’ to ‘in

  • 解決済

    C言語でテキストファイルの行削除

    C言語でテキストファイルの指定した行の削除を行いたいです。 sample.txtが >giaaaaaaaa hoge fuga piyo となっているときに、>giの行を削除し

  • 解決済

    C言語 行列のファイル読み込み(と、ガウス消去法計算)

    大学の課題で、コンパイルは通ったのですが、うまく読み込んでいないようです。 ガウス消去法を用いて Ax = B を x について解くというもので、行列Aと行列Bはそれぞれ.c

  • 受付中

    C言語のファイルread, writeについて

    visual studio2017 でcのプログラムを作成しています。 test.txtが1行データなので、65byteずつに改行したtext_new.txtを作ろうと思っています

  • 解決済

    あと少しなんですがうまくいきません、、、

    C C言語で 各学生の学籍番号・物理の点数・化学の点数の組がスペース区切りで一行に記述されたファイルを読み込み,全学生の物理の平均点・最高点・最低点,および化学の平均点・最高点・最

  • 受付中

    ファイル名指定のファイルの行数と文字数

     前提・実現したいこと コマンド行引数として与えられたファイル名をもつファイルの中身を調べ、 その行数と文字数(改行文字も文字として数える)とをこの順に標準出力に書き出します。 行

同じタグがついた質問を見る

  • C#

    7094questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • C++

    3440questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。