MAC

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

MAC

#1

投稿記事 by IT太郎 » 15年前

学校の指定パソコンでしかたんくMACのパソコンでプログラミングを勉強しています。
やっぱりWindowsじゃエラーがでないのに、MACじゃエラーが出るというのはありえますか?
以下はWindowsならエラーがでないソースです。

#include <stdio.h>

int main()
{
char *p;

p = "MACってプログラミングに向いてない";

printf(p);

return 0;
}

私のMACではprintf(p);の部分がエラーとでます。
このソースコードは某参考書の内容を参考にしているので間違っている事はないはずです。

なぜMACだとprintf(p);の部分がエラーとなるのでしょうか?

初級者

Re:MAC

#2

投稿記事 by 初級者 » 15年前

printf関数の第1引数が本当にそれでいいのか、調べてみましょう。

ashitana

Re:MAC

#3

投稿記事 by ashitana » 15年前

Win Vista&Borland C++ 5.5.1
Win Vista&Visual C++ 2010   /*追記部分*/
でもエラーが出ないでコンパイルでき、実行できました。
やっぱりMacが・・・・?

/*追記部分*/
しかし、MacOS X(Xですよね?)はUNIXにお面をかぶせたも
のだと聞いていたのですが・・・
Macの"仕様(笑)"でしょうか? 画像

たかぎ

Re:MAC

#4

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

> やっぱりWindowsじゃエラーがでないのに、MACじゃエラーが出るというのはありえますか?

あり得ますし、逆もあり得ます。

> なぜMACだとprintf(p);の部分がエラーとなるのでしょうか?

Macで試しましたがエラーはでませんでした。
何をどのようにしたときに、どんなエラーが出たのかを正確に補足してください。

Re:MAC

#5

投稿記事 by » 15年前

printf関数を使っている所を
printf( "%s",p ) としてみて下さい。

ISLe

Re:MAC

#6

投稿記事 by ISLe » 15年前

Ubuntu 10.04のgcc 4.4.3でコンパイルしたら

warning: format not a string literal and no format arguments

という警告は出ましたけど、エラーは出ませんでした。

#Cygwinのgcc3もgcc4も警告なし。何故?

たかぎ

Re:MAC

#7

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

> warning: format not a string literal and no format arguments

Macで、gcc-4.0やgcc-mp-4.5でコンパイルしても上記の警告は出ません。
4.2.1でコンパイルした場合だけ上記の警告が出ました。

閉鎖

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