
成整型数
用 法: int atoi(const char str); //函数签名
程序:
/
int atoi(char str) - Convert string to int //将一个字符串转为一个整数
Purpose: //意义
Converts ASCII string pointed to by str to binary //将由str所指向的ASCII型字符串转为二进制
Entry: //输入
str = ptr to string to convert //str,指向字符串的指针
Exit: //输出
return int value of the string //返还字符串所代表的整数值
Exceptions: //异常
None - overflow is not detected //无。无法检测溢出
/
#include <stdioh>
#include <stdlibh>
#include <asserth>
int atoi(const char str)
{
assert(str); //如果并未输入任何字符串或一个无效字符串则退出运行
int total = 0; //要输出的结果
int sign = 1; //数字的符号
if(str == '-'){ //如果第一个字负号
sign = -1; //输出为负数
str ++; //移至下一个字符
}
else if(str == '+'){ //如果第一个字符是正号
str++; //无改动,移至下一个字符
}
while(str){ //当字符串还为结尾
unsigned int ch = str - '0'; //当下字符所代表的数字
assert(ch <= 9 && ch >= 0); //如果该数字不再0至9的范围内退出运行
total = total 10 + ch; //原数字增加一位
str ++; //移动指针到下一个字符
}
return ret sign; } //返还所得到的整数,加入符号
最后一行是不是错了?ret根本没有定义,应该是total sign才对。
这里需要知道的只有一个,传值调用时对形参的修改不影响实参值
所以main里面一直是a=5,b=8
第一次调用p(5,8),输出
5 13
第二次调用p(13,5)输出
13 18
答案选择A,12
a-->5是先判断a与5的关系,然后再--
由于a=5所以a>5为假,!假为真,所以执行switch(a)这里a=4
所以从case 4开始执行,由于case 4没有break,所以会一直执行到遇到break或者switch结束,所以a+=4,a+=5得到a=13
第二次循环中a=13答应5为真,所以!真为假,跳出循环,但是也执行了-- *** 作,所以最后输出12
第一题:x=-9,x<-5,所以 y=-3。
第二题:将数组 z[3][3] 的列作为行打印输出。输出3行结果是:
1 4 7
2 5 8
3 6 9
以上就是关于请讲解一下这个程序main函数中的代码每一步的意思及最后输出结果 谢谢全部的内容,包括:请讲解一下这个程序main函数中的代码每一步的意思及最后输出结果 谢谢、c语言程序运行结果、17 以下程序执行后的输出结果是___。 main() { int a=5; while(!(a等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)