C程序设计语言_第2版新版——每日练习
最近在学习C语言,用的是C程序设计语言_第2版新版这本书。我想把每天做的练习贴出来,第一鞭策自己,第二如果我的练习答案有什么问题也请论坛的前辈帮帮忙,指点指点。
从练习2.3开始的
/*
练习2-3 编写函数htoi(s),把由16进制组成的字符串(包含可选前缀0x或0X)转换为与之等价的整数值。字符串中允许包含的数字包括:0-9、a-f、A-F。
*/
#include<stdio.h>
#define H 16
int hoti(char c[]);
int a2h(int c);
int main() {
char c[] = "0X0Fw";
printf("%d", hoti(c));
return 0;
}
int hoti(char c[]) {
int i,temp,result = 0;
if(c[0] == '0' && (c[1] == 'x' || c[1] == 'X')) {
for(i = 2; c[i] != '\0'; i++) {
if(temp = a2h(c[i]) != H)
result = result*H + a2h(c[i]);
else
break;
}
}
return result;
}
int a2h(int c) {
if(c >= '0' && c <= '9') {
c = c - '0';
} else if(c >= 'a' && c <= 'f') {
c = c - 'a' + 10;
} else if(c >= 'A' && c <= 'F') {
c = c - 'A' + 10;
} else {
c = H;
}
return c;
}
[解决办法]
看楼主功底应该蛮扎实的就不要浪费分了。
[解决办法]
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
[解决办法]
新手学习
[解决办法]
学习中
[解决办法]
学习态度值得学习,但是你自己的程序,怎么就不知道对不对呢?
[解决办法]
赞成此观点,测试的时候都爱使用一些简单的来测试,但实际运行中出现一些复杂点的数据就会出现一些意想不到的问题了。如果身边有可以请教的人,多问些为什么,进步会很快,有些东西别人简单的讲解一句话比自己看书理解要快很多。冰冻三尺非一日之寒,楼主加油。
[解决办法]
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
[解决办法]
支持楼主了吧
[解决办法]
5楼和15楼的那段话,我好像经常看到
[解决办法]
看到容易,要是能亲身体会到,就更好了。
现在很多人不懂汇编,感觉非常遗憾,CPU的魅力全没了。
[解决办法]
我也是 灌水的
[解决办法]
别理解错了 我说我也经常看见 他可能是灌水的
[解决办法]
每日一练就可以 了 啊 ,是不是又 点 多了额
------解决方案--------------------
赵中老是这一句,换个口味的。
[解决办法]
等哪天程序不用变成汇编指令让CPU执行了我保证跟着换!