はじめまして

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
saito

はじめまして

#1

投稿記事 by saito » 17年前

はじめまして、学校の課題で8ビットのXNOR論理ゲート(否定排他的論理和)の動作をシミレーション(模擬動作)する関数 unsigned int xnor(unsigned int, unsigned int); を作成し入力した2つの正の整数aとbに対してXNOR論理演算を行うプログラムを作成せよ。なおa,bは16進数入力する。というのがでました。↓のようなプログラムを作ったのですが動きません。どうしたらよいかお願いします・・・
#include<stdio.h>
unsigned int xnor(unsigned int, unsigned int);
int main(void)
{
	int a,b;

	printf("16進数を入力してください\n:\n:");
	scanf("%4x",&a,&b );
	printf("%4x",xnor(a,b));
	return 0;
}
unsigned int xnor(unsigned int a, unsigned int b)
{
	return xnor=!(a^b);
}

たかぎ

Re:はじめまして

#2

投稿記事 by たかぎ » 17年前

scanfの書式文字列が間違っています。

saito

Re:はじめまして

#3

投稿記事 by saito » 17年前

ありがとうございました。難しく考えすぎてました。

Hermit

Re:はじめまして

#4

投稿記事 by Hermit » 17年前

unsigned int xnor(unsigned int a, unsigned int b)
{
	return xnor=!(a^b);
}
return ~a^b;
でいいんじゃない。
コンパイルエラーで、コンパイルさえ通らないと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る