Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23718
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-24 14:12
文章分类

全部博文(15)

文章存档

2014年(15)

我的朋友
最近访客

分类: IT职场

2014-09-18 23:52:55

1、以下程序(来源:http://blog.csdn.net/hackbuteer1/article/details/7926592

点击(此处)折叠或打开

  1. int main(int argc, char** argv)
  2. {
  3.     int n = 0 , i;
  4.     for(i = 1 ; i < argc ; i++)
  5.         n = n * 10 + *argv[i]-'0';
  6.     printf("%d\n",n);
  7.     return 0;
  8. }
经编译链接生成可执行文件tt.exe,若运行时输入以下命令行   tt   12   345   678,则程序运行的输出结果是()
A、136              B、12345              C、12345678               D、12
解析:主函数的第一个参数argc为整型参数,记下从命令行输入参数的个数;第二个参数argv是一个字符型的指针数组,它的每一个元素分别指向命令行输入的各字符串。在本例中argc的值为4,argv[0]指向字符串“tt”,argv[1]指向字符串“12”,argv[2]指向字符串“345”, argv[3]指向字符串“678”。程序中,通过一个for循环,遍历了后面的三个参数字符串,每次将n自乘10,然后累加argv[i]-‘0’,即第i个参数字符串的首字符减去‘0’。  一个数字字符减去‘0’字符,即可得到这个数字字符的实际数值,因此三次循环的结果是让n的值变为136,故本题应该选择A。
2、16、若已定义:int a[9],*p = a; 并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是()
A、++p            B、a+1            C、p+1            D、a++
3、26、设a=1,b=2,则(a++)+b 和 a+++b 这两个表达式的值分别是()
A、4 , 4
B、3 , 4
C、4 , 3
D、3 , 3

    a+++b=(a++)+b;因为++的优先级比+高
阅读(685) | 评论(0) | 转发(0) |
0

上一篇:《程序员面试宝典》要点记录

下一篇:没有了

给主人留下些什么吧!~~