标签:c语言程序 put scan 取数据 零基础 can toc ret 就是
目录
scanf的第一个参数为格式化字符串,与printf类似,有“%”开头的格式控制符,每一个格式控制符对应后续一个参数。
scanf函数从标准输入(键盘)中读取数据至后续参数所指定的位置,因此,后续的每一个参数都应该指向一个内存地址。
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 0;
scanf("%d", &nValue);
printf("Your input is %d\r\n", nValue);
return 0;
}
C语言程序中的每一个变量,在程序运行时,都会被分配内存空间,CPU依靠内存地址(类似门牌号码)找到对应的变量。
int nValue = 0;
printf("%08X", nValue);
printf("%08X", &nValue);
int nValueAry[5] = {0};
printf("%08X", nValueAry);
第一个参数是格式化字符串,scanf根据格式化字符串指定的类型,将键盘输入的内容存储到后续参数中指定的位置中去。
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 0;
scanf("%d", &nValue);
printf("Your input is: %d\r\n", nValue);
return 0;
}
#include <stdio.h>
int main(int argc, char* argv[])
{
char chValue = 0;
scanf("%c", &chValue);
printf("Your input is: %c\r\n", chValue);
return 0;
}
#include <stdio.h>
int main(int argc, char* argv[])
{
double dbValue = 0;
scanf("%lf", &dbValue);
printf("Your input is: %lf\r\n", dbValue);
return 0;
}
#include <stdio.h>
int main(int argc, char* argv[])
{
char szBuff[20] = { 0 };
scanf("%s", szBuff);
printf("Your input is: %s\r\n", szBuff);
return 0;
}
比较以下情形:键盘输入一样,但是分别采用%d与%X来输入数据。
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 0;
scanf("%d", &nValue);
printf("Your input is: %d\r\n", nValue);
return 0;
}
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 0;
scanf("%x", &nValue);
printf("Your input is: %d\r\n", nValue);
return 0;
}
其次,键盘的输入应该与格式化字符串的格式完全一致:
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue1 = 0;
int nValue2 = 0;
scanf("%d,%d", &nValue1, &nValue2);
printf("Your input is: %d, %d", nValue1, nValue2);
return 0;
}
对于初学者建议:
#include <stdio.h>
int main(int argc, char* argv[])
{
char szBuff[20] = { 0 };
scanf("%19s", szBuff);
printf("Input is: %s", szBuff);
return 0;
}
标签:c语言程序 put scan 取数据 零基础 can toc ret 就是
原文地址:https://www.cnblogs.com/shellmad/p/11646151.html