"" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
warning C4724: 剰余の 2 番目のオペランドは、コンパイル時に 0 と評価され、不定の結果を返します。

ソース(バグ有り):

#include <stdio.h>
#include <stdlib.h>
#include <string.h> 

int main(void) 
{
char oddeven[16];
char buf[32];
char *temp;
int number;
printf("数字を入力してください。 ");
number = (int)strtol((fgets(buf, sizeof(buf), stdin)), &temp, 0);
if( number % 0==0)
strcpy_s(oddeven,"偶数");
else
strcpy_s(oddeven,"奇数");
printf("数字の %d は %s number です。\n", number,oddeven);
return 0; }


原因:


対処:


ソース(修正済み):

#include <stdio.h>
#include <stdlib.h>
#include <string.h> 

int main(void) 
{
char oddeven[16];
char buf[32];
char *temp;
int number;
printf("数字を入力してください。 ");
number = (int)strtol((fgets(buf, sizeof(buf), stdin)), &temp, 0);
if( number % 2==0)
strcpy_s(oddeven,"偶数");
else
strcpy_s(oddeven,"奇数");
printf("数字の %d は %s number です。\n", number,oddeven);
return 0; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]