我没有使用80行C来填充此页面,而是将其上传到pastebin。 http://pastebin.com/b6UDpw0J
该计划的其余部分有效。我可以使用标志-x和-cx没有任何问题,但使用-c 导致分段错误。我试图使用DDD和普通的gdb来调试它,但无论出于何种原因,我一直在“正常退出1(进程7355)”,并且每当我使用“backtrace”时,我都会得到“无堆栈”。
你们如何调试你的程序?你调试这个的方法是什么?
此外,我的代码有任何明显的问题吗?也许我做过一些愚蠢的初学者事情,我可以更高效地完成任务?
由于
答案 0 :(得分:0)
下面:
void capitalize(char *s){
while(*s != '\0')
if(islower(*s))
*(s++) += ('a' - 'A');
}
你应该增加s,即使它不低。还存在一个strupr函数。
此外,在main中你应该检查argc以了解有多少参数。你不能假设argv [argc] == 0。