请讲解一下这个程序main函数中的代码每一步的意思及最后输出结果 谢谢

请讲解一下这个程序main函数中的代码每一步的意思及最后输出结果 谢谢,第1张

成整型数

用 法: 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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10633689.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存