首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c的小疑点

2012-03-12 
c的小问题下面是我的代码 (本来写的是其他程序,有点长就把问题给提了出来)#include stdio.hint main(int

c的小问题
下面是我的代码 (本来写的是其他程序,有点长就把问题给提了出来)
 #include <stdio.h> 

int main(int argc, char *argv[]) 

int i; 

if ((*++argv)[0] == '*') 
i = 3 * 5; 
printf (" %d\n", i); 

return 0; 

输出的结果: 
[root@localhost 5]# ./a.out * 
4972912 
[root@localhost 5]# ./a.out "*" 
15 

用其他符号都没有这问题 
我想问为什么乘号一定要加上引号才可以 
linux命令行中的乘号是什么,有什么特殊意义吗?


[解决办法]
没用过Linux。。
[解决办法]
字符比较。。。
[解决办法]
你这个时候输入的*不是字符,而是正则表达式中的*,在这里相当于是当前目录下任意文件路径,你可以用print来输出你的参数,可以看出来是啥玩意儿。反正不会是"*"所以条件不能执行!
[解决办法]
因为*被shell扩展成一堆文件名了...

热点排行