程序设计中scanf(“%d,%s”,&a,c)对

如题所述

有一点问题,不过不是语法的问题(当c确实是一个指向字符串的指针时)
该代码意味着用户输入的时候,必须以下面的方式输入,才能起效:
整数,字符串
如果用户没有输入','则结果不可预测
例如:
99912345Sdef 其中999是整数,12345Sdef是字符串
则系统会自动断为99912345 Sdef
并且由于字符串格式不匹配,进而导致只有整数a有值,而c中的字符串可能不会填入
具体是否填入依据软件运行平台所依赖的libc库对scanf函数的实现而定追问

这样就不行

追答

  将scanf格式字符串改为"%d %s"
  输入的时候输入整数+空格+字符串(字符串不要超过7个,因为回车换行也会占2个字符,加上结尾符号0需要3个字符缓冲)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-27

不对。

这样才对。

#include <stdio.h> //引用printf函数的头文件 
int main()
{
int a=0;
char c[100]={0};
scanf("%d,%s",&a,&c); //比如输入: 1,"123"
printf("a=%d,s=%s",a,c);
return 0;
}

第2个回答  推荐于2017-10-27
对的追问

这样就不行

本回答被提问者采纳
相似回答
大家正在搜