使用以下代码:
char *name = malloc(sizeof(char) + 256);
printf("What is your name? ");
scanf("%s", name);
printf("Hello %s. Nice to meet you.\n", name);
Run Code Online (Sandbox Code Playgroud)
用户可以输入他们的名字,但是当他们输入一个像空格一样的名字时Lucas Aardvark,scanf()只需切断后面的所有内容Lucas.如何设置scanf()允许空格
似乎有很多方法可以在C中获得用户输入.
什么是最简单的方法,需要很少的代码?
基本上我需要显示这个:
Enter a file name: apple.text
Run Code Online (Sandbox Code Playgroud)
基本上我需要询问用户文件名.所以我需要的东西只能得到用户输入的那个词.
可能重复:
使用scanf进行分段错误
我写了以下代码.
int main(){
char arrays[12];
char *pointers;
scanf("%s",arrays);
scanf("%s",pointers);
printf("%s",arrays);
printf("%s",pointers);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么写作时会出错 scanf("%s",pointers);
我对c很陌生,此刻我也非常沮丧.这是我的代码:
typedef struct {
char* fName;
char* lName;
char* pNum;
char* address;
char* email;
} contactInfo;
void addContact(){
contactInfo *contact;
contact = (contactInfo *) malloc (sizeof(contactInfo));
printf("\n[Add a contact]\nFirst Name: ");
scanf("%s", contact->fName);
printf("%s", contact->fName);
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我输入scanf的值时,它会给我一个分段错误.如果我尝试在contact-> fName前添加&,我也会收到错误.
代码有什么问题?