🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.c
Article #742

質問です

#742
From: しゅういち
Date: Tue, 17 Feb 1998 00:00
41 lines
1604 bytes
C言語で、次のようなプログラムを書きました


01:  #include <stdio.h>
02:
03:  void main(void)
04:  {
05:        char *cp;
06:        int x;
07:        x = getchar();
08:        switch(x){
09:        case '0':
10:              cp = "abc";
11:              break;
12:        case '1':
13:              cp = "hij";
14:              break;
15:        case '2':
16:              cp = "opq";
17:              break;
18:        default:
19:              cp = "xyz";
20:              break;
21:        }
22:        printf("%s\n",cp);
23:  }

このプログラムは正常(?)に動作します

このプログラムの 10,13,16,19行目にある命令文はC言語の仕様から見て
正しいのでしょうか?  (初期化ではない)

cp = "abc" で、ポインタ cp に文字列 "abc" へのポインタが入れられるのは
わかるのですが、式の右辺 "abc" はどのような動作をするのでしょうか?



誰か教えてください。

文章を書くのが苦手なんで、読みにくかったらすみません。
Technical Details
Message-ID: <6ca43a$c7v$1@news.twin.ne.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 106434,200412f6fe640ef9,start
X-Google-Attributes: gid106434,public
From: "しゅういち" <shuichi@po.twin.ne.jp>
Subject: 質問です
Date: 1998/02/17
Message-ID: <6ca43a$c7v$1@news.twin.ne.jp>
X-Deja-AN: 325632640
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="iso-2022-jp"
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
Organization: Twin Internet(Kinki Computer Consultant Co.,Ltd.)
Mime-Version: 1.0
Newsgroups: fj.lang.c