您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页c语言如何用配列表示素数,12.基本ライブラリ

c语言如何用配列表示素数,12.基本ライブラリ

来源:华佗小知识

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

main()

{

char str[11];

int n;

printf("数字を入力(10桁以内) : ");

scanf("%s",str);

printf("%s が入力されました\n",str);

n = atoi(str);

printf("整数に変换し n に代入しました\n");

printf(" n = %d\n",n);

printf("2n = %d\n",n*2);

return;

}

◇実行结果8(123と入力した场合)

数字を入力(10桁以内) : 123

123 が入力されました

整数に変换し n に代入しました

n = 123

2n = 246

これでめでたく数値に変换できました。

・・・ただし、これで终わってはいけません。

<<『例外処理はどうなってるのか?』>>

そう、文字列から変换を行うということは、数字以外の文字が入力された场合

どうなってしまうのかということを考虑しなくてはなりません。

(最终的には数字以外の入力を受け付けないようにすべきですが・・・)

ここでatoi関数がどのような例外処理をするのかを検讨します!

例1:最初に-(マイナス)を入力

数字を入力(10桁以内) : -836

-836 が入力されました

整数に変换し n に代入しました

n = -836

2n = -1672

例2:小数点付

数字を入力(10桁以内) : 1100.23

1100.23 が入力されました

整数に変换し n に代入しました

n = 1100

2n = 2200

例3:数字以外の文字を混ぜる

数字を入力(10桁以内) : 234e4

234e4 が入力されました

整数に変换し n に代入しました

n = 234

2n = 468

例4:先头に+(プラス)记号

数字を入力(10桁以内) : +24

+24 が入力されました

整数に変换し n に代入しました

n = 24

2n = 48

例5:途中に+や-

数字を入力(10桁以内) : 438+45-6

438+45-6 が入力されました

整数に変换し n に代入しました

n = 438

2n = 876

例6:デタラメ

数字を入力(10桁以内) : dspjvci

dspjvci が入力されました

整数に変换し n に代入しました

n = 0

2n = 0

以上実験结果としてatoiは先头は符号あるいは数字、2番目から数字を见て

不正な文字か'\0'までを値に変换していることがわかりました。

9.型変换関数(文字列→倍长整数)

関数名       :atol

必要なヘッダ:stdlib.h

関数のタイプ:long atol (const char *s);

引数         :s 文字列へのポインタ

戻り値       :変换后の数値

前回とほぼ同じで、违いは変换される値がlong型になることです。

◇サンプルプログラム9

#include

#include

main()

{

char str[11];

long n;

printf("数字を入力(10桁以内) : ");

scanf("%s",str);

printf("%s が入力されました\n",str);

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务