プログラミングを勉強しています。整数a,b,cと文字列sがあたえられ、a+b+cの計算結果と文字列sを並べて表示するプログラムを組みたいです。下のようにプログラムを組んだところ12行目に書式文字列'%s'には型'char *'の引数が必要ですが、可変個引数2は型'int'です。と出てしまいます。実行しても入力ができるだけでなにも起こらないですどこを直したらいいか教えてください;;自分が何に分類される言語を学んでいるか分かってないですC系ではあります#include\u0026lt;stdio.h\u0026gt;int main(){int a , b , c , sum;char s;scanf(\u0026quot;%d\u0026quot;, \u0026amp;a);scanf(\u0026quot;%d %d\u0026quot;, \u0026amp;b , \u0026amp;c);scanf(\u0026quot;%s\u0026quot;, \u0026amp;s);sum = a + b + c;printf(\u0026quot;%d %s\u0026quot;, sum , s);return 0;}

1件の回答

回答を書く

1267685

2026-06-27 21:55

+ フォロー

#include\u0026lt;stdio.h\u0026gt;



int main(void)

{

int a,b,c,sum;

char s[10];



scanf(\u0026quot;%d\u0026quot;,\u0026amp;a);

scanf(\u0026quot;%d %d\u0026quot;,\u0026amp;b,\u0026amp;c);

scanf(\u0026quot;%s\u0026quot;,s);

sum=a+b+c;

printf(\u0026quot;%d %s\
\u0026quot;,sum,s);



return 0;

}



==================

#include\u0026lt;stdio.h\u0026gt;



int main(void)

{

int a,b,c,sum;

char s;



scanf(\u0026quot;%d\u0026quot;,\u0026amp;a);

scanf(\u0026quot;%d %d\u0026quot;,\u0026amp;b,\u0026amp;c);

scanf(\u0026quot;%c\u0026quot;,\u0026amp;s);\u0026lt;==ここでは前のscanfでの改行を読んでしまう。

scanf(\u0026quot;%c\u0026quot;,\u0026amp;s);\u0026lt;==ここで本当の文字を読む



sum=a+b+c;

printf(\u0026quot;%d %c\
\u0026quot;,sum,s);



return 0;

}



%cは使わない方が良い。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有