guoquanli 发表于 2019-12-31 16:07:46

sprintf函数第一个参数传入字符数组的名字为何报错

void main(){
    int i = 100;
   //itoa(i,s,10);
    char *s = (char *)malloc(sizeof(char)*100);
    sprintf(s,"%d",i);
    printf("%s\n",s);
    /*
    char s;
    sprintf(s,"%d",10);
    printf("%s\n",s);
    */
    return ;

}

sunrise085 发表于 2019-12-31 16:18:33

你问题没说清楚,不知道到底哪里错了。
不知是你代码没贴全还是写的时候少了什么。malloc函数需要引入头文件的。
#include <stdio.h>
#include<malloc.h>//这个头文件中定义了malloc函数。
int main(void) {
    int i = 100;
   //itoa(i,s,10);
    char *s = (char *)malloc(sizeof(char)*100);
    sprintf(s,"%d",i);
    printf("%s\n",s);
    /*
    char s;
    sprintf(s,"%d",10);
    printf("%s\n",s);
    */
        return 0;
}

guoquanli 发表于 2019-12-31 17:43:36

sunrise085 发表于 2019-12-31 16:18
你问题没说清楚,不知道到底哪里错了。
不知是你代码没贴全还是写的时候少了什么。malloc函数需要引入头文 ...

恩,谢谢您的解答!估计是其他代码中存在错误,我又单独测试了上述代码,运行结果都正确,再次感谢哈!!!
页: [1]
查看完整版本: sprintf函数第一个参数传入字符数组的名字为何报错