关于c语言的简单程序无法运行

C Primer Plus 书上第四章的第一个实例程序在Visual studio发生生成错误!

          // talkback.c -- nosy, informative program
#include <stdio.h>
#include <string.h>      // for strlen() prototype
#define DENSITY 62.4     // human density in lbs per cu ft
int main()
{
    float weight, volume;
    int size, letters;
    char name[40];        // name is an array of 40 chars

    printf("Hi! What's your first name?\n");
    scanf("%s", name);
    printf("%s, what's your weight in pounds?\n", name);
    scanf("%f", &weight);
    size = sizeof name;
    letters = strlen(name);
    volume = weight / DENSITY;
    printf("Well, %s, your volume is %2.2f cubic feet.\n",
           name, volume);
    printf("Also, your first name has %d letters,\n",
           letters);
    printf("and we have %d bytes to store it.\n", size);

    return 0;
}

3个回答

size=sizeof(name);应该这样写吧

建议还是先用codeblock吧,VS各种奇怪的问题……

因为在VS上scanf不安全,你用scanf_s代替scanf,换成scanf_s(“%s",name,40);最后这个数子代表输入的最大数字。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问