假设有定义int nums[10][20];
二维数组行数可以用sizeof计算:
rows = sizeof(nums)/sizeof(nums[0]);
第二个问题,为什么gets会提示未定义标识,有两种可能:
一、编译器支持gets库函数,但是你没有包含头文件#include<stdioh>;
二、编译器本身不支持gets库函数,因为gets函数是一个不安全函数,容易导致数组越界,所以很多编译器都不再有这个库函数了。取而代之的是gets_s或者fgets这类相对安全的函数,可以试试。1点击菜单栏中的项目,然后点击属性。也可以在在右侧资源窗口中右键该项目,点击属性。2然后点击C/C++,选择优化3然后选择优化中的已禁用(/Od),确定4现在再回去调试,之前显示未定义标识符的问题vs2019未定义标识符gets故障原因:在VS2015中,stdioh头文件中已经不存在gets()函数定义,而被更安全的get_s()函数和fgets()函数所替代。故直接用gets()会出现未定义的错误 #include<iostream>#include<cstdio>using namespace std;int main(){ char str1[100],str2[100]; cout<<"input str1:"; gets(str1); cout<<"input str2:"; gets(str2);cout<<"str1="<<str1<<"\n"<<"str2="<<str2<<endl;return 0;}
在C++中加上cstdio 即可!
欢迎采纳!
cin 输入字符串时,以输入空格作为字符串输入结束的标志!,所以造成了你的这种情况!
s_gets 是函数,要查看 函数定义,才能知道 2个参数是什么类型,函数功能和参数意义。假定 s_gets 类似 gets_s(),
函数原型是 char gets_s( char str, size_t n );
那么 flower 可能是 char flower[80]; size 可能是 int size=80;
函数功能是 从键盘读入一行字符串,存入flower,字符串长度不超过 size 数值。gets就是接受一个字符串;
比如说你先定义了一个字符型的数组str只要在程序中写入:gets(str);在运行程序时就可以输入一个字符串并存入str数组中!!
我刚学c!感觉还行一起加油↖(^ω^)↗
vs2019未定义标识符gets故障原因:在VS2015中,stdioh头文件中已经不存在gets()函数定义,而被更安全的get_s()函数和fgets()函数所替代。故直接用gets()会出现未定义的错误。
微软将 Visual J++ 改版为 Visual J#,但至 Visual Studio 2008 时取消支持 Visual J#;而 Visual Studio 2010 时,并入支持新语言 Visual F#。Visual Studio 2010 原生支持:Visual Basic、Visual C#、Visual C++、Visual F#四种程序语言。
C语言:
标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
不能把C语言关键字作为用户标识符,例如if,for,while等。
标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
1gets(字符数组) 怎样得到函数值
这个问题没看懂,gets配合字符数组是输入用的呀,和函数值有什么关系?
如果你要用gets输入一个字符数组,可以:
2怎样得到字符数组的起始地址
数组名代表数组的起始地址,用gets输入字符数组后,用取地址符输出地址,如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)