C++ sprintf使用问题。

C++ sprintf使用问题。,第1张

printf("20ng%d_c%d_f%d", param.NTOPICS, (int)param.INITIAL_C, param.NFOLDS)

这个输出是什么知道吧?

sprintf就是把这个输出的结果存到dir(第一个参数)字符串中 并在结尾加\0(字符串结束符)

也就是说

sprintf(dir, "20ng%d_c%d_f%d", param.NTOPICS, (int)param.INITIAL_C, param.NFOLDS)

printf("%s", dir)

printf("20ng%d_c%d_f%d", param.NTOPICS, (int)param.INITIAL_C, param.NFOLDS)

等效

sprintf(table,"%d",1)这句执行后,table里的内容为"1"加上一个字符串结束符"\0",也就是0。table内存位置的二进制值是1 0000 0000.如果你用%d输出,结果自然就是256。如果用putchar()或%c输出就是1.

首先,C语言没有字符串类型,但是字符数组或者字符指针可以表示字符串。 所以你可以把几个字符串分别放到几个不同数组: 例如: char str1[10] = "abcdefg"char str2[10] = "qwerty"注意,定义字符数组时可以使用=直接赋值,非定义阶段,不能...


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11937702.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存