char **p作为参数被修改_5年程序员总结——这几个C语言可变参数等诡异问题当年坑惨我了...

1 为什么调用 printf() 前, 必须要用 #include ?

2 为什么 %f 可以在 printf() 参数中, 同时表示 float 和 double?他们 难道不是不同类型吗?

3 为什么当 n 为 long int, printf("%d", n); 编译时没有匹配警告? 我以为 ANSI 函数原型可以防止这样的类型不匹配

4 怎样写一个有可变参数的函数?

5 怎样写类似 printf() 的函数, 再把参数转传给 printf() 去完成大部 分工作?

6 怎样写类似 scanf() 的函数, 再把参数转传给 scanf() 去完成大部 分工作?

7 怎样知道实际上有多少个参数传入函数?

8 为什么编译器不让我定义一个没有固定参数项的可变参数函数?

9 我有个接受 float 的可变参函数, 为什么 va arg(argp, float) 不工作?

10 va arg() 不能得到类型为函数指针的参数。

11 怎样实现一个可变参数函数, 它把参数再传给另一个可变参数函 数?

12 怎样调用一个参数在执行是才建立的函数?

13 遇到不可理解的不合理语法错误, 似乎大段的程序没有编译。

14 为什么过程调用不工作?编译器似乎直接跳过去了。

15 程序在执行用之前就崩溃了, 用调试器单步跟进, 在 main() 之前 就死了。

16 程序执行正确, 但退出时崩溃在 main() 最后一个语句之后。为什 么会这样?

17 程序在一台机器上执行完美, 但在另一台上却得到怪异的结果。 更奇怪的是, 增加或去除调试的打印语句, 就改变了症状

18 为什么代码: char *p = "hello, worl!"; p[0] = ’H’; 会崩溃?

19 “Segmentation violation”, “Bus error” 和 “General protection fault”意味着什么?

1c83068dbb9c1426d469f6ccdf6f92f9.png
522d1161962a63314e68e26856327296.png
45ac6ab76d691779d083eff973f7ec7e.png
bfafb6ff079d10c06a67f6f8353acf75.png
350d8231ec72f848a7d0ae6547434e30.png
a04c091608f1d9c9679781f10156b3f3.png
23b9f9db537c60e30ae8c389c8e79181.png
6afb8f31cdeadb6e864fb2eea1507167.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值