小编Jam*_*son的帖子

为什么我的程序在#之后忽略了参数?

我正在经历Zed Shaw的"艰难学习C"(LCTHW),今天我正在练习14.练习14是一个简单的程序,它打印运行程序时给出的每个参数的字符的ASCII代码.你可以在这里查看我的代码(请原谅随机评论;我只使用这个回购来存储我的LCTHW笔记).

我的程序没有完全按预期运行.我在OSX上使用Terminal调用该程序,并且程序运行得非常好,直到我使用以'#'开头的参数运行它 - 该参数被忽略,以及之后的任何参数.例如,在终端中运行以下命令:

./ex14 Hello Simon #num53 okay 
Run Code Online (Sandbox Code Playgroud)

将仅为Hello Simon提供ASCII代码,但不为#num53或okay提供,即 -

LCTHW-sols $ ./ex14 Hello Simon #num53 okay
Hello has 5 chars
'H' == 72 'e' == 101 'l' == 108 'l' == 108 'o' == 111 
--------------
Simon has 5 chars
'S' == 83 'i' == 105 'm' == 109 'o' == 111 'n' == 110 
--------------
Run Code Online (Sandbox Code Playgroud)

为什么是这样?此外,如何更改我的代码以便接受任何参数?

ex14.c在下面复制,没有我的笔记评论 -

#include <stdio.h>
#include <ctype.h> // Functions to classify and transform chars …
Run Code Online (Sandbox Code Playgroud)

c terminal

3
推荐指数
1
解决办法
107
查看次数

标签 统计

c ×1

terminal ×1