2017-09-09 57 views
1

您好我在C約後續代碼一個問題:字符串在C編程

#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
    char name[10]; 
    printf("Enter your name: \n"); 
    scanf_s("%s", &name); 

    printf("Your name is: %s", name); 


    return 0; 
} 

它完美的作品使用的代碼塊,但使用Microsoft Visual Studio 2015年它是行不通的。 此警告總是顯示:

Warning C4473 'scanf_s' : not enough arguments passed for format string 

能否請您給我這是怎麼回事提示嗎?

注意:在Visual Studio中,我總是使用scanf_s而不是scanf。

+2

'scanf_s()'不是標準功能,並要求額外的參數。 [閱讀文檔](https://msdn.microsoft.com/en-us/library/w40768et.aspx)。 –

+0

你也應該通過'name'而不是'&name'來掃描。 – alk

+2

「*在Visual Studio中,我總是使用scanf_s而不是scanf。*」爲什麼? – alk

回答

1

「scanf_s」需要一個額外的緩衝區大小參數。

例如:

scanf_s("%s", name, 1024);